私はコマンドをパイプして実行しようとしていますが、パイプする方法を理解できません。 私がI(ソースは)私は、配管を実装する必要がI(宛先)QProcessでシェルコマンドを実行しています。入力をパイプに入れます。
QString files = "for %I in (source) do copy %I (destination)"
QProcess copy ;
copy.start(files);
%をコピーしない%をシェルコマンドに
を使用して一度に複数のファイルをコピーしようとしていますそれを行う。例:
QProcess sh; sh.start("sh", QStringList() << "-c" << "ifconfig | grep inet"); sh.waitForFinished(); QByteArray output = sh.readAll(); sh.close();
どのように私は私のコピー処理のための配管を実装することができますか?ブロックモードで
QProcess sh; sh.start("sh", { "-c", "ifconfig | grep inet" }); if (!sh.waitForFinished(-1)) { qDebug() << "Error:" << sh.readAllStandardError(); return -1; } const auto output = sh.readAllStandardOutput(); // ...
waitForFinished()
が呼び出されるべきで、それが成功したかどうかをチェックする必要があります。
[QProcessを使用した配管(またはコマンド連鎖)]の可能な複製(https://stackoverflow.com/questions/20901884/piping-or-command-chaining-with-qprocess) – Azeem
@Azeemこれらの回答は私を助けません。 –
エラー?問題? – Azeem