程序打印进度条, linux c
函数如下:
#include <stdio.h> #include <string.h> #include <unistd.h> typedef struct _progress { int cur_size; int sum_size; }progress_t; void progress_bar(progress_t *progress_data) { int percentage = 0; int cnt = 0; char proc[102]; memset(proc, '\0', sizeof(proc)); percentage = (int)(progress_data->cur_size * 100 / progress_data->sum_size); printf("percentage = %d %%\n", percentage); if (percentage <= 100) { while (cnt <= percentage) {
//最关键的是这一句打印,相当于 再不断的重新刷新 进度条。
printf("[%-100s] [%d%%]\r", proc, cnt); // 直接将pritnf 显示出来。
fflush(stdout); proc[cnt] = '#'; usleep(100000); cnt++; } } printf("\n"); } int main(int arc, char *argv[]) { progress_t progress_test = {0}; progress_test.cur_size = 65; progress_test.sum_size = 100; progress_bar(&progress_test); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律