所以我正在尝试编写代码的一部分,在其中写入一些内容,然后覆盖它。像这样:
10 seconds have passed
11 seconds have passed
12 seconds have passed
不用换行打印。所以我不想使用这样的东西:
std::cout<<"10 seconds have passed\n"
std::cout<<"11 seconds have passed\n"
我该怎么做?我正在运行 Kubuntu Linux
最佳答案
这就是回车符的用途:\r
。它以打字机的机制命名,将纸架返回右侧,以便打字员可以从一行的开头继续打字。试试这个:
std::cout << "10 seconds have passed";
std::cout << "\r11";
当然,如果两者之间没有延迟(除了可能等待 I/O),您不太可能看到变化,但您至少会看到 11 秒后的输出
10
无处可见。
如何显示回车完全取决于你输出到什么,但这是它的意图。有关更复杂的跨平台终端输出,请查看 ncurses .
关于c++ - 如何在 C++ 中将光标位置设置为行首?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13572545/