各位大佬:
我現在在寫一個多行程管道通信的程式,子行程其實是運行另一個程式,我把他的stdin和stdout連上了管道的讀和寫:
dup2(pipes1[0], 0);
dup2(pipes2[1], 1);
這樣為了方便父行程與他交流。
父行程中,我用fprint向管道的寫端輸入內容,然后用fflush那個寫端的FFILE*,為了就是讓寫入快取區的內容更新,然后子行程的讀端能立即讀到。
fprintf(fdopen(pipes1[1],"w"),content);
int i = fflush(fdopen(pipes1[1],"w"));
printf("%d\n", i);
但是問題是我fflush之后,i == 0 顯示fflush成功,但是子行程并不能讀到content。程式結束之后才可以。
請問這個該怎么辦。
uj5u.com熱心網友回復:
可能是因為stdin和stdout的快取機制導致的。。。。個人猜測轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/74513.html
標籤:C語言
上一篇:病毒致死率程式
下一篇:求大佬幫我這道題怎么做的
