在控制台中显示更改数字的最简单方法是什么?我有一个正常的C++命令行程序使用cout,但是我想显示一个代表进度的百分比数字,在没有打印新行的情况下计算到100.怎么做的?(如果重要:我在Windows 7上)感谢您的回答!
Che*_*Alf 29
当我需要的时候,我只用C++ 输出一个回车符\r.
请记住每次刷新输出,例如
cout << "\r" << x << "% completed. " << flush;
Run Code Online (Sandbox Code Playgroud)
最后的空格可以清除线路上的先前输出,以防微软的波动进度.

dan*_*n04 11
使用退格符.
cout << "10%";
// ...
cout << "\b\b\b20%";
Run Code Online (Sandbox Code Playgroud)
我通常会在进度信息后放回车.这样,任何其他输出将显示正常(只要它在行中有足够的字符来完全覆盖进度信息).
cerr<<percentage<<"% \r";
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我更喜欢使用cerr而不是cout来获取这种状态/诊断信息,以便可以为真实内容保留cout.这样,您可以将正常程序输出重定向到文件,并仍然可以在控制台中查看进度.此外,使用cerr,您不必使用"flush".