如果标题没有准确地揭示我想要做什么,以下是我的问题。
我想在Linux或Mac终端上编写一个c ++程序来打印在命令行模式下从1,2,3 ......开始计数的数字。例如,它就像显示工作进度时的百分比(例如下载内容,安装软件......)。
我写了一个简单的for循环来打印数字,并在打印下一个数字之前使用usleep(1000);
延迟1秒。然后我使用cout << "\b";
尝试将光标移回到同一位置显示即将到来的数字。但是我无法创建我想要的效果,数字会打印成一行。
我不是一个熟练的c ++程序员,并且对终端环境中的编程知之甚少。任何人都可以帮我提供这个功能的提示或示例代码吗?谢谢!!
答案 0 :(得分:1)
如果您在Linux终端中,您还可以使用以下代码
system("clear");
cout<<"\b";
cout<<Your_Number;
// Repeat this in a loop and call the delay function
答案 1 :(得分:0)
这适用于我的终端(使用linux) #包括 #包括 使用namespace std;
int main(int argc, char *argv[]) {
int i;
for(i=1;i<100;i++)
{
cout<<"\b\b\b"<<i;
cout.flush();
sleep(1);
}
return 0;
}