等待system()调用完成

时间:2013-03-01 14:59:16

标签: c multithreading system wait

在下面的代码中,我使用system来呼叫"gedit filename"。它正确地打开gedit指定文件。
但是,在下一行中,我尝试打印修改后的数据(我将通过gedit更新),但它不会等到gedit退出。

strcpy(tt1,"gedit ");
strcat(tt1,tt);
system(tt1);                     //here gedit opens file

printf("\nFile data %s  Location %s",getFileData(tt),tt); //this line executes before finishing gedit

请帮我等到system()电话完成其工作。

1 个答案:

答案 0 :(得分:1)

我相信这是由--wait命令行参数处理的,这似乎是一个非常recent addition。您可以尝试自己构建gedit,至少验证它是否有效(因为您的发行版可能赢得了最近足够的版本)。