c++ 在同一行上打印

c++ Print on same line

本文关键字:一行 打印 c++      更新时间:2023-10-16

>我正在使用时间来获取循环期间经过的时间。我想显示这个时间每个循环运行。

我可以这样做:

for(int i = 0;i<3;i++)
{
    sleep(2 secs);
    time= get_time();
    cout<<"time is : "<<time;
}

但我有输出:

time is : 2 time is : 4 time is : 6

我可以添加一个endl以将其放在列中,但这不是我想要的。我的循环大约有一百万次,所以我真的不想打印一百万行。

我只想打印如下:

time is : 2

,然后将其刷新为

time is : 4

等等。 有没有办法做到这一点?

您可以将 endl 与 clrscr(( 一起使用。

打印到终端非常容易,但同时可能非常困难。终端的核心只是一个文件,您可以使用它进行写入或读取。执行诸如更改光标位置之类的任务实际上是特定于系统的,并且您的代码必须依赖于平台。

但不要惊慌!人们以前做过,甚至写了库来做这件事。我认为NCurses会完成这项工作。https://www.gnu.org/software/ncurses/ncurses.html

我建议您参考此线程以查看与您的问题相关的一些问题:如何使用 NCurses 清除特定行?

我从来没有用过诅咒,所以祝你好运!

享受编程!