- c/c++
#include<iostream> #include<Windows.h> int main() { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(handle, &CursorInfo);//获取控制台光标信息 CursorInfo.bVisible = false; //隐藏控制台光标 SetConsoleCursorInfo(handle, &CursorInfo);//设置控制台光标状态 int all_block_num = 1000; for (int i = 0; i<all_block_num; i++) { if (i<all_block_num-1) { printf("\r读取中[%.2lf%%]:", i*100.0 / (all_block_num - 1)); } else { printf("\r读取完成[%.2lf%%]:", i*100.0 / (all_block_num - 1)); } int show_num = i * 20 / all_block_num; for (int j = 1; j <= show_num; j++) { std::cout << "█"; Sleep(10); } } std::cout << std::endl; return 0; }
- python
python中由一些强大的第三方库也可以实现进度条的功能,比如tqdmimport sys l=1000000 for i in range(l): sys.stdout.write('下载中: {:.3f}\r'.format(float(i/l*100))) sys.stdout.flush()
参考资料
https://blog.wangtianlong.club/article/article-detail/16/