c++ - 删除默认控制台空格

标签 c++ console-application

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

如果我运行下面的代码:

#include <iostream>

using namespace std;

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

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

我添加了一些图片以防您不确定我的意思。

Example 1

Example 2

有解决办法吗?

最佳答案

不,这个不能删除。

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

但是:

如果需要,您可以减少空格的数量 - 这是控制台属性中的一项设置。 This answer解释了如何这样做,并且 this one让您通过提示或批处理文件来完成。

关于c++ - 删除默认控制台空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58418865/

相关文章:

c# - 为特定于域的操作创建独立的控制台(shell)

C# 控制台应用程序 - 在运行时编辑用户设置

.net - 是否可以构建双击时不显示控制台窗口的控制台应用程序?

c++ - 如何从 QNetworkReply 读取数据?

c++ - "struct type variablename"作为声明有效吗?

c++ - 控制台将继续关闭而不是读取 if 语句中的字符串

java - 计算器控制台应用程序无法运行

java - 如何从控制台接受用户数据

c++ - 从用户定义的头文件调用函数时出现 undefined reference 错误,它的实现在 .cpp 文件中

C++:<=有符号和无符号之间的冲突