首页 > 解决方案 > 在终端窗口上显示大输出

问题描述

int a[10000];
for(int i=0;i<10000;i++)
{
   a[i]=i; cout<<a[i]<<endl;
}

假设这是代码,在终端屏幕上我需要所有输出(0-9999)但最后只显示(9704-9999)

我想查看终端窗口上的所有数字,但它会删除数据的上半部分。我想我必须更改一些设置。

标签: c++dev-c++

解决方案


增加控制台缓冲。根据您使用的终端,它会有所不同。例如,在 Windows 上,conhost.exe是 cmd 和 PowerShell 使用的默认控制台。只需单击左上角的图标 > 属性 > 布局并将屏幕缓冲区大小设置为足够大的数字

主机

但更好的解决方案是重定向到 file,因为没有人想在控制台上读取 10000 行,并且不能保证控制台会有无限长度或长度超过 10000 行的缓冲区。conhost例如仅支持最多 9999 行,因此您至少会错过您键入的命令和第一个输出行。除此之外,这通常会从历史记录中删除其他命令的输出,这是不可取的

使用重定向运算符从命令行执行此操作>

yourapp.exe >output.txt

或直接从您的代码保存到文件


推荐阅读