C++从“cout”更改输出
答
这个工作对我来说:
std::cout << "1111";
std::cout << "\r";
std::cout << "2222";
\r
是一个回车符号。将“光标”放回到行首。您可以使用\b
字符。这是退格。打印时,它会返回一个字符。
答
一般来说这是不可能的。 (想象一下,cout
的输出是直接送到打印机的,你如何指示它将最后一行“取消打印”?)cout
是一个输出流,它不会假定输出发送到哪个媒体,或者关于该媒体的能力。具体的技巧可以在某些情况下达到你想要的效果,但在其他情况下会失败。如果你想要比直接输出纯文本更动态的东西,可能cout
不是正确的工具。
答
你绝对不会从cout得到的一件事是终端线的长度。由于这可以改变,你可能会使用太长的行,(使用'\ r')每次更新都会导致打印新行。如果你想使用特定的平台,那么使用特定于平台的功能来获取终端大小(请注意,根本不可能连接到任何终端,例如重定向到文件)。
cout不应该是控制台的摘要,尽管大多数终端都会很乐意正确地解释回车符。 – lijie 2010-12-08 14:41:07
什么是控制台呢? – nebkat 2010-12-08 15:05:55