首页 > 解决方案 > 删除默认控制台空格

问题描述

我正在使用 Visual Studio 开发一个基于控制台的小型应用程序,我想问一下是否有可能摆脱控制台在默认情况下执行时产生的数千个空白。

如果我运行以下代码:

#include <iostream>

using namespace std;

int main() {
    cout << "Hello World!" << endl;
    system("pause");
}

控制台下方会产生大量空白"Hello World",以至于您可以向下滚动浏览所有空白。我希望能够清除所有这些,因此向下滚动选项甚至不可用。

如果您不确定我的意思,我添加了一些图片。

示例 1

示例 2

有没有解决的办法?

标签: c++console-application

解决方案


不,这不能被删除。

这不是你的代码在做的——它是 Windows 控制台的工作方式。这些空行是尚未填充文本的屏幕缓冲区行。在类似这样的控制台或其他控制台上运行它bash不会显示空格 - 如果您将输出通过管道传输到文件,则同样如此。

然而:

如果需要,您可以减少空格的数量 - 这是控制台属性中的设置。这个答案解释了如何做到这一点,这个答案让你可以通过提示或批处理文件来做到这一点。


推荐阅读