c ++在同一行上打印

时间:2017-04-10 18:26:55

标签: c++ printing cout

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

我可以这样做:

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

打印到终端非常容易,但同时也可能非常难。从本质上讲,终端只是一个文件,您可以使用它来编写或读取。执行更改光标位置等任务实际上是系统特定的,您的代码必须依赖于平台。

但不要惊慌!人们之前已经做过,甚至还写过库来做。我认为NCurses会做这个工作。 https://www.gnu.org/software/ncurses/ncurses.html

我建议您参考此主题以查看与您的问题相关的问题:How to clear a specific line with NCurses?

我从未使用过ncurses我自己,所以祝你好运!

享受编程!