2011-07-25 115 views
1

在代碼中的一處,我使用system-Call調用一個外部工具。餘與葡萄酒和程序中工作與C.系統函數調用異步?

呼叫是這樣的:

system("blabla.exe outfile"); 

該命令是動態生成的改變OUTFILE。幾行後,我嘗試用fopen打開生成的文件,但fopen返回NULL

如果我改變調用下面的一切工作:

system("blabla.exe outfile"); 
Sleep(2000); 

但我不喜歡間隔2秒......而這種解決方案是非常糟糕的。 我覺得system -Call可以同步嗎?所以子進程的所有(File-)句柄應該在system之後關閉-Call,而不是?我對此有點困惑。

感謝

回答

1

system調用是同步的,根據執行結束後,返回手冊頁。我懷疑酒有沖洗文件句柄。