【发布时间】:2015-06-26 05:42:18
【问题描述】:
这段代码有问题:
#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;
}
我需要我的代码来打印“迭代:0”,而不仅仅是将 0 刷新为 1、2、3、4.... 一个控制台线上的所有内容。我使用了回车,但它不起作用,一行一行的打印出来,就像我使用“\ n”时一样。环境是linux 64位。 IDE是eclipse 8.01。
【问题讨论】:
-
@iamkrillin:无论如何,Linux 确实不使用
\r。 -
无法复制。我建议在迭代之间手动刷新,但缺少它不应导致您描述的行为。您使用的终端模拟器有什么特别之处吗?
-
你的代码对我有用。
-
您必须在能够理解 ANSI 字符控制代码的控制台中运行它。 Linux 上的大多数终端模拟器默认情况下都会这样做。
-
你用的是什么终端模拟器?
标签: c++ linux console-application