2013-03-01 97 views
1

在下面的代碼中,我打電話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()電話完成其工作。

+0

'tt'包含什麼? – 2013-03-01 15:02:09

+8

''gedit'可能會像守護進程一樣進入背景,很多gui程序都會這樣做。 – Kevin 2013-03-01 15:03:41

+0

tt包含將用於gedit的文件名,例如gedit abc.txt這裏是abc.txt – Galaxy 2013-03-01 15:05:07

回答

1

我認爲這是由--wait命令行參數處理的,這似乎是一個漂亮的recent addition。您可以嘗試自己構建gedit,至少驗證它是否可行(因爲您的發行版可能不會有最新的版本)。

+0

嘿嘿...感謝解開....它工作並解決了問題...謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝感謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝.. – Galaxy 2013-03-01 15:33:02