繁体   English   中英

使用QProcess在Qt中运行外部可执行文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM