隨筆- printf不能打印log信息

相信對於很多開發來說,log打印是一個順手的動作,也是調試程序的基礎;

int printf(const char * __restrict, ...) __printflike(1, 2);

結果今天就遇到 printf 不能打印信息。表示有點驚掉了下巴。。。

真相在這裏:

(http://bbs.csdn.net/topics/300006379 論壇中4樓這位大哥真相了。果然加了\n就可以!)

大哥回答原話:

我記得printf是行緩衝的。

用fflush(stdout);
或者每個printf打印串都以\n結束。
好像printf不宜做信號處理函數,因爲它不是線程安全的。
要是信號來之前剛好進程執行到printf就會發生未知錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章