2011-07-25 14 views
1

コード内の1つの場所で、system-Callの外部ツールを呼び出します。システム関数呼び出しasync?

system("blabla.exe outfile"); 

コマンド動的にOUTFILEを変更するために生成されます。私は、呼び出しは、このようなものですC.

とワインとプログラムで動作します。数行後、私はfopenで生成されたファイルを開こうとしますが、fopenNULLを返します。

私が変更した場合は、次のすべての呼び出しは動作します:

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

をしかし、私は2秒を待つのが好きではありません...そして、このソリューションは非常に悪いです。 system -Callは同期していると思いますか?だからサブプロセスはすべての(ファイル)ハンドルはsystemの後に閉じなければならないのですか?私はこれについて少し混乱している。

おかげ

答えて

1

system呼び出しは実行が終了した後、それが返すmanページによると、同期しています。私は、ワインを流すファイルハンドルがあると思う。

関連する問題