下面给出的只是一个简单的程序,在单独的行中打印10,000个整数。但是,随着执行下面的语句,顶部的整数会消失。一次仅显示 296 个整数。我应该如何处理这个问题,并一次在屏幕上获取所有 10,000 个整数,即如何增加终端缓冲区大小?
可执行
#include <iostream>
main(){
int i=10000;
while (i){
std::cout<<i<<"n";
i--;}
int ch = std::cin.get();}
编译器:CygWin GCC 4.9.2 IDE:代码块。
实际上所有整数都正确显示。您可以通过将程序输出重定向到文件来验证它:
$ ./yourprogram >yourfile.txt
然后显示输出文件的前几行:
$ head yourfile.txt
10000
9999
9998
9997
9996
9995
9994
9993
9992
9991
您报告的问题是由有限的终端缓冲区大小引起的。