是否可以更改使用“cout”打印的文本? 我想显示某些内容的当前百分比,而无需为每个百分比换行。这是可能的吗?
是否可以更改使用“cout”打印的文本? 我想显示某些内容的当前百分比,而无需为每个百分比换行。这是可能的吗?
这对我有效:
std::cout << "1111";
std::cout << "\r";
std::cout << "2222";
\r
是回车符号。它将光标移回到行的开头。
或者,您可以使用\b
字符。这是退格键。打印时它会向后移动一个字符位置。
\r
(回车)比实际需要的多(除非你想要\b
,退格)。 - Hasturkuncout
输出直接传送给打印机。你如何指示它"取消打印"最后一行?) cout
是一个输出流,它不会对输出发送的媒介或其能力做出任何假设。特定技巧可以在某些情况下实现你想要的效果,但在其他情况下会失败得非常惨。如果你想要比纯文本直接输出更加动态的内容,也许cout
并不是使用的正确工具。从cout中肯定无法获取终端行长度。由于这可以更改,因此您可能会使用过长的行,这将导致每次更新都打印新行(使用'\r')。如果要使用特定平台,则使用特定于平台的函数来获取终端大小(请注意,您可能根本没有连接到任何终端,例如重定向到文件)。
cout
的输出直接传送给打印机,你如何指示它“取消打印”最后一行?)cout
是一个输出流,它对输出发送到哪个介质或该介质的能力没有任何假设。在某些情况下,可以使用特定的技巧来实现你想要的效果,但在其他情况下可能会失败得很糟糕。如果你想要比纯文本直接输出更动态的内容,也许cout
并不是合适的工具。 - jalf