1

私は親プロセスと子プロセスを持っています (子は fork を使用して作成されます) 親プロセスでこのコードが定義されている場所:

FILE* pfile = fopen("log.txt","w");

while (1) { 
    serve child requests
    fprintf (pfile,"some data\n");
}

fclose (pfile);

問題は、無限ループが終了しないため、コードの最後の行が実行されないことです(これがプログラムの動作です)..ファイルが閉じられず、書き込まれたデータが連続してファイルに保存されません。

どうすればこの問題を解決できますか?

どんな助けでも大歓迎です、ありがとう

4

2 に答える 2

3

ループ内で使用fflushして、ファイルへの書き戻しを強制できます。

于 2013-04-24T21:26:31.060 に答える