【问题标题】: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 了解更多

标签: c++ dev-c++


【解决方案1】:

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

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

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

yourapp.exe >output.txt

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

【讨论】:

    猜你喜欢
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2014-11-16
    • 2020-09-07
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多