Linux下C編程中printf不加'\n'不輸出

  調試linux下的socket程序時,發現服務器端收到的信息只有在客戶端結束後纔會顯示收到的信息,但是如果在printf中加入換行符,就會立刻輸出。原因是因爲Unix系統一般有行緩存。而’\n’可視爲行刷新標誌。
只要把printf(“1”);改成printf(”1\n”);


下面情況下會刷新緩存:
1 強制刷新標準輸出緩存fflush(stdout);
2 放到緩衝區的內容中包含/n;
3 緩衝區已滿;
4 需要從緩衝區拿東西到時候,如執行scanf;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章