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