如何在整数更改时让控制台刷新?

时间:2015-07-07 03:08:08

标签: c++ system chrono

我正在制作一个小程序,从我的时区(EST)获取当前时间((这也是在错误的时区或者不想处理夏令时,因为它增加了额外的时间)小时))并在控制台中打印出来。

我正在寻找一种方法让控制台刷新(无论如何,我使用禁忌系统(" cls")每次我使用的整数都会改变。) / p>

所以每秒控制台都会清除先前输出的时间,然后打印出当前时间。

如果需要,我可以自由地获得另一个图书馆(不愿意)。

2 个答案:

答案 0 :(得分:0)

每次更新控制台上的值时都需要打印回车\r字符,如果打印换行符,则需要flush输出流。

例如

std::cout << "\rValue 1 ";    /// Output should be of equal no. of chars every time
std::cout << "\rUpdate 1";
std::cout << "\rUpdate 2";
. . .

回车符(\r)返回当前行的第一个位置,而不是转到下一行。

您可以通过

刷新输出流
std::cout.flush();

答案 1 :(得分:0)

#include <iostream>
#include<ctime>
#include<unistd.h>
using namespace std;
int main()
{
  time_t x,y;
  time(&x);
  cout<<ctime(&x);
  for(;;x++)
    {
      sleep(1);
      cout<<"\r"<<ctime(&x);
    }
}

我希望这能满足您的需求。