我正在尝试从 git QProcess bash.exe 运行。我检查了进程是否正在运行以及文件是否存在并确认了这些但是在尝试编写以处理命令时之后有" \ n \ r &#34 ;它没有做任何事情。
示例代码:
QProcess *proc = new QProcess();
proc->start("C:\\Program Files\\Git\\bin\\bash.exe");
proc->waitForStarted();
proc->write("ls\n\r");
proc->waitForBytesWritten();
proc->waitForReadyRead();
# neither proc->readAll() nor proc->readAllStandardOutput(); fetch anything
# tried even proc->readAllStandardError(); but no luck as well.
所以它只是坐在那里,我没有得到目录列表。 可能是什么问题?
答案 0 :(得分:1)
首先,我不明白你的代码是如何编译的,因为没有QProcess
构造函数接受字符串作为参数。
以下是我将使用ls
阅读QProcess
命令输出的内容:
int main(int argc, char *argv[])
{
QProcess proc;
proc.start("C:\\Program Files (x86)\\Git\\bin\\bash.exe", QStringList());
if (!proc.waitForStarted()) {
return 1;
}
proc.write("ls\n");
QByteArray output;
if (proc.waitForReadyRead()) {
output += proc.readAll();
}
qDebug() << output;
return 0;
}