首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重写控制台项目中的一行文本?c++

如何重写控制台项目中的一行文本?c++
EN

Stack Overflow用户
提问于 2015-02-06 01:24:36
回答 3查看 13.7K关注 0票数 4

我正在做一个c++控制台项目,我想显示一个百分比,而不是每次都创建新的行(这样窗口就不会被成千上万的行阻塞)。

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-06 01:25:59

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

这可以在windows和Linux上运行。

来自:Erase the current printed console line

你也可以选择使用一系列的退格键。

代码语言:javascript
复制
string str="Hello!";
cout << str;
cout << string(str.length(),'\b');
cout << "Hello again!";

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

也许标记为副本?我真的不知道该怎么做。

票数 14
EN

Stack Overflow用户

发布于 2019-09-22 17:12:58

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

代码语言:javascript
复制
std::cout << "Some text to display..." << "\t\r" << std::flush;

在这里,\t添加了一个表格来处理稍有不同的字符串长度,并且\r将光标返回到行的开头(如其他答案中所提到的)。需要std::flush来保证显示该行时不会跳到下一行。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28350254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档