无法在linux上进行回车工作

时间:2015-04-19 15:37:52

标签: c++ linux console-application

我遇到了这段代码的问题:

#include <iostream>
#include <math.h>
#include <unistd.h>
#include <string>
#include <iostream>
#include <stdio.h>

using std::cout; using std::cerr;
using std::cin;  using std::string;
using std::endl;

int main(int argc,char* argv[])
{
    for(int x = 0; x <= 2013; x++)
    {

        cout << "Iteration: "<< x << "\r";
        cout << "";

    }

    return 0;
}

我需要我的代码打印“Iteration:0”而不是只刷新0到1,2,3,4 ......一切都在一个控制台行上。我使用了回车但它不起作用,线条一个接一个地打印,就像我使用“\ n”时一样。环境是linux 64位。 IDE是eclipse 8.01。

1 个答案:

答案 0 :(得分:0)

你必须把它放在行的开头:

cout << "\rIteration: "<< x;

编辑:我测试了原始OP代码的这种修改,并打印出他想要的内容。另外,Oh dear look what I've found

另外,正如@Wintermute所建议的那样,您可以在for循环中执行以下操作,以获得更好的可视化效果:

cout << "\rIteration: "<< x << std::flush;
sleep(1);