【发布时间】:2025-03-28 13:35:02
【问题描述】:
QProcess process_sdcompare;
QString command_sdcompare;
QStringList args_sdcompare;
command_sdcompare = "diff";
args_sdcompare << "Filename" << "Filename";
process_sdcompare.start(command_sdcompare,args_sdcompare,QIODevice::ReadOnly);
process_sdcompare.waitForFinished();
QString StdOut_sdcompare = process_sdcompare.readAllStandardOutput(); //Reads standard output
QString StdError_sdcompare = process_sdcompare.readAllStandardError(); //Reads standard error
if(StdOut_sdcompare.isEmpty()) //the process output is checked here if empty it is a success
return 1;
我正在运行上面的代码。当我在比较不相似的文本文件后检查错误情况时,isEmpty() 返回false。
如何检查QProcess 的执行是否没有错误?
【问题讨论】:
-
只是一个注释,与你的问题无关:你代码中的cmets 相当没用。它们只是被调用函数的名称,单词之间有空格。最好注释为什么某些东西是这样写的,而不是行中发生的事情,因为这应该从代码中清楚。
-
关于你的问题:你应该看看进程的exit code