3

在代码中的一个地方,我使用system-Call调用了一个外部工具。我使用 Wine 并使用 C 编程。

调用是这样的:

system("blabla.exe outfile");

该命令是动态生成的以更改输出文件。几行后,我尝试用 . 打开生成的文件fopen,但fopen返回NULL.

如果我将调用更改为以下一切正常:

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

但我不喜欢等待 2 秒......而且这个解决方案非常糟糕。我认为system-Call 工作同步?所以子进程及其所有(文件-)句柄应该在system-Call之后关闭,不是吗?我对此有点困惑。

谢谢

4

1 回答 1

4

systemcall 是同步的,根据执行结束后返回的手册页。我怀疑葡萄酒冲洗文件句柄有问题。

于 2011-07-25T21:04:22.247 回答