问题解决:printf()函数无法打印
今天寫聊天室項(xiàng)目,調(diào)試出了問題,查看了代碼無(wú)法找到問題,于是用printf()逐行打印。
問題定位很快,然而發(fā)現(xiàn)打印到一半,就無(wú)法顯示。進(jìn)過排查,這不是程序的問題,而是printf()函數(shù)無(wú)法打印。
這個(gè)問題涉及到printf()輸出緩沖的問題。
對(duì)于標(biāo)準(zhǔn)輸出設(shè)備stdout,輸出一般都有緩沖,當(dāng)遇到刷新標(biāo)志或緩沖滿時(shí)才把緩沖的數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備中。
對(duì)于printf()函數(shù),其使用的輸出設(shè)備就是標(biāo)準(zhǔn)輸出設(shè)備stdout,且采用行緩沖式的輸出,當(dāng)printf()遇到\n時(shí),或者緩沖區(qū)滿時(shí),才會(huì)將緩沖區(qū)里的內(nèi)容刷新到標(biāo)準(zhǔn)輸出(stdout).
為了解決這個(gè)問題,可以通過:fflush(stdout);解決,即:
[plain] view plain copy print?
fflush(stdout)刷新標(biāo)準(zhǔn)輸出緩沖區(qū),把輸出緩沖區(qū)里的東西打印到標(biāo)準(zhǔn)輸出設(shè)備上
printf("。。。。。。。。。。。");后面加fflush(stdout);可提高打印效率
轉(zhuǎn)自:http://blog.csdn.net/yhj110911119/article/details/52196540
總結(jié)
以上是生活随笔為你收集整理的问题解决:printf()函数无法打印的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS多线程同时操作同一内存造成野指针
- 下一篇: 北邮计算机学院孙岩,孙岩(博导)-北京邮