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

Running external executable in Qt using QProcess

本文关键字:运行 外部 可执行文件 Qt QProcess 使用      更新时间:2023-10-16

我正试图在Qt中作为一个单独的进程运行一个外部可执行文件(下面的代码)。

test.c:

#include <stdio.h>
int main () {
    FILE *f;
    f = fopen("a.txt", "w");
    fprintf(f, "1n");
    fclose(f);
    return 1;
}

在Qt中我有:

QProcess* process = new QProcess();
QString program = "/Users/myUser/Desktop/a.out";
process->execute(program);

我已经阅读了execute()、start()和startDetached()之间的区别,据我所知,我想使用execute((),因为我希望运行外部可执行文件的进程在主进程中继续执行之前完成。然而,我尝试了这三种方法,希望找到一个包含文本"1"的文件.txt,但它并不存在。关于为什么它不起作用,有什么帮助或建议吗?谢谢

在main()-函数中检查.txt-文件是否真的存在并在写入之前打开。

在Qt中检查"程序"文件是否真的存在,然后再执行它

从main()函数返回不同的结果代码,并在Qt:中检查结果

QProcess *proc = new QProcess();
proc->start(program);
proc->waitForFinished();
QString result=proc->readAllStandardOutput();
// Check result here