c++ - 在终端窗口上显示大输出
问题描述
int a[10000];
for(int i=0;i<10000;i++)
{
a[i]=i; cout<<a[i]<<endl;
}
假设这是代码,在终端屏幕上我需要所有输出(0-9999)但最后只显示(9704-9999)
我想查看终端窗口上的所有数字,但它会删除数据的上半部分。我想我必须更改一些设置。
解决方案
增加控制台缓冲。根据您使用的终端,它会有所不同。例如,在 Windows 上,conhost.exe是 cmd 和 PowerShell 使用的默认控制台。只需单击左上角的图标 > 属性 > 布局并将屏幕缓冲区大小设置为足够大的数字
但更好的解决方案是重定向到 file,因为没有人想在控制台上读取 10000 行,并且不能保证控制台会有无限长度或长度超过 10000 行的缓冲区。conhost
例如仅支持最多 9999 行,因此您至少会错过您键入的命令和第一个输出行。除此之外,这通常会从历史记录中删除其他命令的输出,这是不可取的
使用重定向运算符从命令行执行此操作>
yourapp.exe >output.txt
或直接从您的代码保存到文件
推荐阅读
- node.js - Zookeeper getChildren 事件只触发一次
- image - 为什么 `cv2.threshold` 只需要灰度图像?
- netbeans - 带有 MAMP 问题的 NetBeans Xdebug 路径
- swift - 在 Swift 中将 CoreData 导出为 CSV
- xml - 使用 XML 命名空间的不太复杂的 XPath 表达式
- java - 如何将属性文件注入环境 bean?
- css - 引用我的 sass 文件中的类时出错
- kubernetes - 如何从现有的 github 项目中添加 helm repo?
- sql - 如何使用 SQL 从列中获取 >= 25%、50%、75% 的值
- python - 仅在服务器上运行时列出索引超出范围错误 - python