[英]Running external executable in Qt using QProcess
我试图在Qt中将外部可执行文件(下面的代码)作为一个单独的进程运行。
test.c:
#include <stdio.h>
int main () {
FILE *f;
f = fopen("a.txt", "w");
fprintf(f, "1\n");
fclose(f);
return 1;
}
在Qt中,我有:
QProcess* process = new QProcess();
QString program = "/Users/myUser/Desktop/a.out";
process->execute(program);
我已经阅读了execute(),start()和startDetached()之间的区别,并且据我了解,我想使用execute(),因为我希望运行外部可执行文件的过程在继续执行主过程之前完成。 但是,我尝试了所有这三个方法,希望找到其中包含文本“ 1”的文件a.txt,但是它不存在。 关于它为什么不起作用的任何帮助或建议? 谢谢!
在写入文件之前,先检查main()函数是否确实存在a.txt文件并已打开。
在执行Qt之前,先检查Qt中“ program”文件是否确实存在。
从main()函数返回不同的结果代码,并在Qt中检查结果:
QProcess *proc = new QProcess();
proc->start(program);
proc->waitForFinished();
QString result=proc->readAllStandardOutput();
// Check result here
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.