//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; }
时间: 2024-12-22 07:02:05