2012-04-08 53 views

回答

3

這通常取決於平臺,取決於您如何從另一個程序運行一個程序。如果您使用的C庫函數system,您可以運行該程序,然後從該程序讀取狀態代碼如下:

int returnCode = system("./hello-world-program"); 
if (returnCode == 0) { 
    ... 
} 

但是,你平時最好不要使用操作系統級別的原語來做到這一點。 Linux使用forkexec來處理此問題,您可以通過將wait函數與其他一些代碼結合使用來讀取給定進程ID號的子進程退出代碼。 Windows有這樣做的機制,不幸的是,我不熟悉。

希望這會有所幫助!

+0

好的我正在做的不是在Linux中的窗口,當我打電話**。/ hello-world-program **與系統調用它給我下面的錯誤_'。'不被識別爲內部或外部命令, 可操作的程序或批處理文件。 ! OK 進程返回0(爲0x0)執行時間:0.047小號 按任意鍵continue._
這裏是代碼'INT主要(無效){ 的printf( 「Hello World」 的); return 0; } '和'int a = system(「./ Hello.exe」); if(a == 0) printf(「ok」); } else printf(「!ok」); return 0;'
Regards – 2012-04-08 20:12:23

+0

對不起,'。/ Hello.exe'這個符號是Linux特有的。嘗試刪除'。/',而不是寫'Hello.exe'。 – templatetypedef 2012-04-08 20:14:13

+0

我明白了。感謝@templatetypedef – 2012-04-08 20:55:09

相關問題