如何在添加新文本时停止控制台滚动?(C/C++)



添加新文本时,是否有方法阻止控制台应用程序滚动?在我的应用程序中,我添加了新的文本,我不希望每次出现这种情况时控制台都滚动到底部,我只希望它一直保持在顶部。

这适用于Windows,使用Win API。

您可以尝试写入system("cls");以清除屏幕并再次从头开始写入。

如果您使用的是printf

  1. 不要以\n结尾
  2. 每行以\r开头。这将导致程序持续覆盖您第一次开始打印的行
  3. 添加fflush以刷新缓冲区

如果您使用std::cout,

  1. 不要以std::endl结束您的行
  2. 开始每行
  3. 在行尾添加std::flush

唯一的问题是,如果新行比前一行短,文本可能不会被覆盖。

最新更新