Глеб Asked:2020-11-30 07:46:00 +0000 UTC2020-11-30 07:46:00 +0000 UTC 2020-11-30 07:46:00 +0000 UTC 如何在 Windows 命令行中“绘制”? 772 在 Linux 中,控制台应用程序通常会像这样显示它们的进度:[####___] 50%,在终端的同一位置带有“更新”字样,并且不会像count <<"сообщение"<<endl;在 Windows 中那样在 cmd 中发送垃圾邮件。我现在正在查看这样的“垃圾邮件”,最好有一个“更新”行。 c++ 2 个回答 Voted Best Answer Harry 2020-11-30T11:58:51Z2020-11-30T11:58:51Z 运行此代码: #include <string> #include <iostream> #include <chrono> #include <thread> using namespace std; int main(int argc, const char * argv[]) { for(int i = 0;; ++i) { string s; for(int j = 0; j < 50; ++j) { s.push_back(j < i%50 ? '#' : ' '); } s.push_back('\r'); cout << s; this_thread::sleep_for(50ms); } } 也许,如果您没有 VC++,您还需要刷新缓冲区cout。 PKondratev 2020-12-02T00:43:48Z2020-12-02T00:43:48Z #include<Windows.h> int main () { HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hOut, {10,10}); //Эта функция устанавливает положение курсора, то есть можно перерисовать результат return 0; }
运行此代码:
也许,如果您没有 VC++,您还需要刷新缓冲区
cout。