清除控制台时C++闪烁



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

有没有办法修复闪烁?谢谢。

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

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

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

参数

hConsole输出 [in]

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

dwCursorPosition [in]

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

清除屏幕/CLS 不适用于动画。

最新更新