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