progress_bar: C++ 终端进度条,一文从入门到高阶

引言 命令行程序在处理耗时任务时,一个直观的进度条能极大提升用户体验。然而 C++ 标准库并未提供终端进度条组件,开发者要么引入重型第三方库,要么自己手写 ANSI 转义码控制光标。 progress_bar 是 utilsxx 库中的轻量级终端进度条组件,它零依赖、跨平台、开箱即用,同时提供了 indicators 第三方库的集成示例,满足不同场景需求。本文将带你一文看懂如何使用它,以及有哪些实用技巧。 一、快速上手:三行代码显示进度条 #include "progress_bar.hpp" int main() { utilsxx::progress_bar bar("Processing", 101); for (int i = 0; i < 101; ++i) { bar.tick(); // 每步调用一次 // 你的耗时操作... } return 0; } 终端输出效果: Processing |████████████████████████████████████████░░░░░░░░░░| 75.0% 二、核心设计 2.1 两种显示模式 模式 枚举值 说明 完整模式 Full 进度条 + 百分比数字(默认) 数字模式 NumberOnly 仅显示百分比数字,无图形条 2.2 颜色系统 支持已完成部分和未完成部分分别设置颜色: 颜色 枚举值 ANSI 效果 白色 White 默认粗体 绿色 Green 粗体绿色 红色 Red 粗体红色 蓝色 Blue 粗体蓝色 黄色 Yellow 粗体黄色 2.3 智能宽度适配 进度条长度自动根据终端宽度计算,无需手动调整: ...

May 10, 2026 · 张壹