簡體   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