我正在尝试为我正在使用C ++控制台制作的程序制作加载动画,我一直在使用系统(“cls”)清除控制台(我知道这是不好的做法),但主要是问题是当我运行程序时屏幕闪烁。我的代码看起来像这样:
有没有办法解决闪烁问题?谢谢。
//loop
system("cls");
cout << "Loading..." << num << "%";
答案 0 :(得分:1)
虽然您可以作为评论者建议并使用诅咒风格库,但您可能正在寻找SetConsoleCursorPosition
(2017年文档:https://docs.microsoft.com/en-us/windows/console/setconsolecursorposition)
BOOL WINAPI SetConsoleCursorPosition(
_In_ HANDLE hConsoleOutput,
_In_ COORD dwCursorPosition
);
<强>参数强>
hConsoleOutput [in]
控制台屏幕缓冲区的句柄。句柄必须具有GENERIC_READ访问权限。有关更多信息,请参阅控制台缓冲区安全性和访问权限。
dwCursorPosition [in]
COORD结构,以字符为单位指定新的光标位置。坐标是屏幕缓冲区字符单元格的列和行。坐标必须位于控制台屏幕缓冲区的边界内。
清除屏幕/ cls不适用于动画。