清除控制台时C ++闪烁

时间:2017-08-25 03:12:06

标签: c++

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

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

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

1 个答案:

答案 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不适用于动画。