幻风帝影 发表于 2018-11-1 19:05:04

百分比加载

在windows下,可以用:
#include <iostream>
#include <windows.h>

using namespace std;

int main(void)
{
        cout << "加载中...   ";
        for(int i = 0; i <=100; i++)
        {
                cout.width(3);
                cout << i << "%";
                Sleep(20);
                cout << "\b\b\b\b";
        }
        cout << '\n';

      return 0;
}

在linux下,使用:
#include <iostream>
#include <unistd.h>

using namespace std;

int main(void)
{
        for(int i = 0; i <= 100; i++)
        {
                cout.width(3);
                cout << i << "%";
                usleep(500);
                cout << "\b\b\b\b";
        }
        cout << '\n';
       
        return 0;
}


在linux下无法实现类似windows下的动态效果,应该如何调整 ?

幻风帝影 发表于 2018-11-1 19:12:51

测试是在linux的下Terminal下

ba21 发表于 2018-11-1 20:45:34

#include <stdio.h>
#include <unistd.h>

int main ()
{
        int i;
    for(i=1;i<10;i++)
    {
      printf("\33[2K\r");
      printf("安装进度:%d%%",i);
      fflush(stdout);
      usleep(1000*1000);
    }
    printf("\n");
    return 0;
}


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

using namespace std;

int main(void)
{
      for(int i = 0; i <= 100; i++)
      {
                cout << "\33[2K\r";
                cout << i << "%";
                fflush(stdout);
                usleep(1000*1000);
      }
      cout << '\n';
      
      return 0;
}
页: [1]
查看完整版本: 百分比加载