【问题标题】:C++ Flickering When Clearing the Console清除控制台时 C++ 闪烁
【发布时间】:2017-08-25 03:12:05
【问题描述】:

我正在尝试为使用 C++ 控制台制作的程序制作加载动画,我一直在使用 system("cls") 来清除控制台(我知道这是不好的做法),但主要问题是我运行程序时屏幕闪烁。我的代码如下所示:

有没有办法解决闪烁的问题?谢谢。

//loop
system("cls");
cout << "Loading..." << num << "%"; 

【问题讨论】:

标签: c++


【解决方案1】:

虽然您可以按照评论者的建议使用 curses 样式库,但您可能正在寻找 SetConsoleCursorPosition(2017 文档:https://docs.microsoft.com/en-us/windows/console/setconsolecursorposition

BOOL WINAPI SetConsoleCursorPosition(
  _In_ HANDLE hConsoleOutput,
  _In_ COORD  dwCursorPosition
);

参数

hConsoleOutput [输入]

控制台屏幕缓冲区的句柄。句柄必须具有 GENERIC_READ 访问权限。有关详细信息,请参阅控制台缓冲区安全和访问权限。

dwCursorPosition [in]

以字符为单位指定新光标位置的 COORD 结构。坐标是屏幕缓冲区字符单元格的列和行。坐标必须在控制台屏幕缓冲区的边界内。

清屏/cls 不适用于动画。

【讨论】:

    猜你喜欢
    • 2022-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2013-08-04
    相关资源
    最近更新 更多