C ++在控制台上更改输出

时间:2011-02-13 05:39:17

标签: c++ console

在控制台中显示更改号码的最简单方法是什么?我在C ++中有一个使用cout的普通命令行程序,但是我想显示一个代表进度的百分比数字,在没有打印新行的情况下计数到100。怎么做的? (如果重要:我在Windows 7上)

3 个答案:

答案 0 :(得分:29)

当我需要时,我只是在C ++ \r中输出回车字符。

请记住每次刷新输出,例如

cout << "\r" << x << "% completed.       " << flush;

最后的空格,以便在类似Microsoft的波动进度的情况下清除该行的上一个输出。

enter image description here

答案 1 :(得分:11)

使用退格符。

cout << "10%";
// ...
cout << "\b\b\b20%";

答案 2 :(得分:5)

我通常会在进度信息后放回车。这样,任何其他输出将显示正常(只要它在行中有足够的字符来完全覆盖进度信息)。

    cerr<<percentage<<"% \r";

顺便说一句,我更喜欢使用cerr而不是cout来获取这种状态/诊断信息,以便可以为真实内容保留cout。这样,您可以将正常程序输出重定向到文件,并仍然可以在控制台中查看进度。此外,使用cerr,您不必使用“flush”。