繁体   English   中英

如何在控制台项目中重写一行文本? C++

[英]How do I rewrite a line of text in a console project? c++

我正在处理一个 C++ 控制台项目,我想显示一个百分比而不每次都换行(这样窗口就不会被数千行堵塞)。

有没有办法删除打印的最后一行,或者说下次我输出一行时它应该替换当前行?

您可以使用 \\r(回车)将光标返回到行首:

这适用于 Windows 和 Linux。

From: 擦除当前打印的控制台行

您也可以使用一系列退格键。

string str="Hello!";
cout << str;
cout << string(str.length(),'\b');
cout << "Hello again!";

来自: http : //www.cplusplus.com/forum/unices/25744/

也许标记为重复? 我真的不知道如何。

我在Linux测试的一个简单示例是:

std::cout << "Some text to display..." << "\t\r" << std::flush;

这里\\t添加了一个表格来处理略有变化的字符串长度,而\\r将光标发送回行首(如其他答案中所述)。 std::flush来保证显示该行而不跳到下一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM