我遇到了这段代码的问题:
#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。
答案 0 :(得分:0)
你必须把它放在行的开头:
cout << "\rIteration: "<< x;
编辑:我测试了原始OP代码的这种修改,并打印出他想要的内容。另外,Oh dear look what I've found。
另外,正如@Wintermute所建议的那样,您可以在for循环中执行以下操作,以获得更好的可视化效果:
cout << "\rIteration: "<< x << std::flush;
sleep(1);