C ++从“cout”更改输出

时间:2010-12-08 14:34:59

标签: c++ console-application cout

是否可以更改用“cout”打印的文字?我想让它显示当前的百分比,而不必为每个百分比设置一个新行。这可能吗?

3 个答案:

答案 0 :(得分:11)

这对我有用:

std::cout << "1111";
std::cout << "\r";
std::cout << "2222";

\r是回车符号。将“光标”放回到行的开头。

或者,您可以使用\b字符。这是退格。打印时,它会返回一个角色。

答案 1 :(得分:1)

一般来说,这是不可能的。 (想象一下cout的输出直接送到打印机。你怎么指示它打印&#34;最后一行?)cout是一个输出流,它没有关于输出发送到哪种媒体或关于该媒体的能力的假设。在某些情况下,特定的技巧可以达到你想要的效果,但在其他情况下却会失败。如果你想要比纯文本的直接输出更动态,那么cout可能不是正确的工具。

答案 2 :(得分:0)

你绝对不会从cout获得的一件事是终端线长度。由于这可以更改,您可能会使用太长的行,(使用'\ r')将导致每次更新时打印新行。如果您想使用特定平台,请使用特定于平台的功能来获取终端大小(请注意,您可能根本没有连接到任何终端,例如重定向到文件)。