拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 添加新文本时如何阻止控制台滚动?(C/C )

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

白鹭 - 2022-01-25 2093 0 0

添加新文本时,有没有办法阻止我的控制台应用程序滚动?在我的应用程序中,我正在添加新文本,并且我不希望控制台每次发生时都滚动到底部,我只是希望它始终保持在顶部。

这是用于 Windows,使用 Win API。

uj5u.com热心网友回复:

您可以尝试写入system("cls");以清除荧屏并再次从顶部写入。

uj5u.com热心网友回复:

如果您使用的是 printf

  1. 不要用 \n 结束你的行
  2. 以\r 开始每一行。这将导致程序不断覆写您第一次开始打印的行
  3. 添加 fflush 以重绘 缓冲区

如果您使用的是 std::cout,

  1. 不要用 std::endl 结束你的行
  2. 用 \r 开始每一行
  3. 在行尾添加 std::flush

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

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *