setbuf()关闭缓冲
生活随笔
收集整理的這篇文章主要介紹了
setbuf()关闭缓冲
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? setbuf函數(shù)用于打開和關(guān)閉緩沖機制,今天看看關(guān)閉緩沖區(qū)的功能。昨天在網(wǎng)上看到一個小程序,printf打印不出數(shù)據(jù)來,我們來看看。
#include <stdio.h>int main(void) {int i=0;for(i=0;i<10;i++){printf("haha");sleep(1);}return 0; }編譯運行,結(jié)果打印不出haha結(jié)果。因為沒遇到換行也沒有填滿緩沖區(qū),所以打印不出來,再看。
#include <stdio.h>int main(void) {int i=0;setbuf(stdout,NULL);for(i=0;i<10;i++){printf("haha");sleep(1);}return 0; }編譯運行,打印:hahahaha
陸續(xù)都打印出來了。這是因為setbuf關(guān)閉了緩沖,將標準輸出設(shè)置為不帶緩沖的,于是每個haha打印一次。
參考地址:http://www.dewen.net.cn/q/275
總結(jié)
以上是生活随笔為你收集整理的setbuf()关闭缓冲的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不同函数之间的跳转setjmp和long
- 下一篇: gethostbyname函数