【发布时间】:2011-05-22 06:40:11
【问题描述】:
是否可以更改用“cout”打印的文本?我想让它显示某事物的当前百分比,而不必为每个百分比都有一个新行。这可能吗?
【问题讨论】:
-
cout 不应该是控制台的抽象,尽管大多数终端会很乐意正确解释回车符。
-
你需要澄清你的问题,不清楚你想要实现什么以及“改变”是什么意思。
-
一般来说是不可能的。 (假设
cout的输出直接馈送到打印机。你将如何指示它“取消打印”最后一行?)cout是一个输出流,它不假设输出发送到哪个介质,或关于该媒体的能力。在某些情况下,特定的技巧可以达到您想要的效果,但在其他情况下会失败。如果您想要比直接输出纯文本更动态的东西,也许cout不是正确使用的工具。 -
std::cout 不假定输出到终端。那里有一些库可以理解终端的适当控制序列,允许您显式地操纵光标位置(示例 ncurses)。对于简单的一次性应用程序,通过 '\r' 进行简单输出就足够了。
标签: c++ console-application cout