在终端窗口上显示大输出

Posted

技术标签:

【中文标题】在终端窗口上显示大输出【英文标题】:Displaying large output on terminal window 【发布时间】:2019-12-22 07:52:57 【问题描述】:
int a[10000];
for(int i=0;i<10000;i++)

   a[i]=i; cout<<a[i]<<endl;

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

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

【问题讨论】:

请向minimal reproducible example工作显示您正在使用的完整代码、您期望的输出以及您得到的实际输出 编辑您的问题,不要在 cmets 中发布代码 如果任何答案对您有帮助,请考虑点击绿色复选标记accept it,并且不要发表“谢谢”评论。这就是这个社区的运作方式。也花 1 分钟 tour 了解更多 【参考方案1】:

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

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

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

yourapp.exe >output.txt

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

【讨论】:

以上是关于在终端窗口上显示大输出的主要内容,如果未能解决你的问题,请参考以下文章

用于输出的 Visual Studio 代码 C++ 终端

如何在PuTTy终端上显示完整的输出

React app无法登录到控制台或终端窗口

QT Creator里printf函数输出到“应用程序输出”界面?

DISPLAY变量和xhost(原创)

xUnit 无法输出到控制台 .NET