C 系统函数调用异步?

C 系统函数调用异步?,c,windows,system,sleep,wine,C,Windows,System,Sleep,Wine,在代码中的某个位置,我使用调用外部工具。我用葡萄酒工作,用C语言编程 电话是这样的: system("blabla.exe outfile"); 动态生成命令以更改输出文件。几行之后,我尝试用fopen打开生成的文件,但是fopen返回NULL 如果我将呼叫更改为以下状态,则一切正常: system("blabla.exe outfile"); Sleep(2000); 但我不想等2秒钟。。。这个解决方案非常糟糕。 我认为系统-呼叫同步工作?因此,子进程及其所有(文件)句柄应该在系统调用后关

在代码中的某个位置,我使用调用外部工具。我用葡萄酒工作,用C语言编程

电话是这样的:

system("blabla.exe outfile");
动态生成命令以更改输出文件。几行之后,我尝试用
fopen
打开生成的文件,但是
fopen
返回
NULL

如果我将呼叫更改为以下状态,则一切正常:

system("blabla.exe outfile");
Sleep(2000);
但我不想等2秒钟。。。这个解决方案非常糟糕。 我认为
系统
-呼叫同步工作?因此,子进程及其所有(文件)句柄应该在
系统
调用后关闭,不是吗?我对此有点困惑


谢谢,根据执行结束后返回的手册页,系统调用是同步的。我怀疑有什么东西与葡萄酒冲洗文件处理