//vs2013设置输出缓冲区
/*windows下是没有设置输出buffer的,也就是说C++中cout的时候,会直接输出,而不是先进入缓冲区等缓冲区满或者被刷新再输出。但是我们可以手动设置缓冲区*/
#include<iostream>
using namespace std;
int main()
{
/* 这个段代码在Linux下用g++执行不会输出,因为1被存到缓冲区中,而windows下会输出,因为windows下没有设置buffer
cout << 1;
while (1){}
*/
//_IOFBF 全缓冲
//_IOLBF 行缓冲
//_IONBF 没有缓冲
//setvbuff参考文章 http://www.cplusplus.com/reference/cstdio/setvbuf/
char buff[10];
setvbuf(stdout, buff, _IOLBF, 10);
for (int i = 0; i < 10; i++)
cout << 1; // 当输出的个数小于10时被存入缓冲区,大于10的时候才输出
while (1){}
return 0;
}
vs2013中设置输出缓冲区
最新推荐文章于 2024-07-16 10:05:55 发布