C/C++fflush(stdout)循环打印输出避免缓存区错误
生活随笔
收集整理的這篇文章主要介紹了
C/C++fflush(stdout)循环打印输出避免缓存区错误
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在使用多個輸出函數連續進行多次輸出時,有可能發現輸出錯誤。因為下一個數據再上一個數據還沒輸出完畢,還在輸出緩沖區中時,下一個printf就把另一個數據加入輸出緩沖區,結果沖掉了原來的數據,出現輸出錯誤。 在 printf();后加上fflush(stdout); 強制馬上輸出,避免錯誤。
實例
//線程函數(1秒輸出現記錄的信息) static void *stats_thread(void *arg) {uint32_t seconds = 0;while (TRUE){ #ifndef DEBUGprintf("%d, %d\n", get_ip_num(), get_ip_login()); #endiffflush(stdout);sleep(1);} }?
總結
以上是生活随笔為你收集整理的C/C++fflush(stdout)循环打印输出避免缓存区错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python爬虫中文乱码问题(爬虫乱码)
- 下一篇: paros web中间件攻击、扫描、监控