《commander-cpp》单头文件的、链式调用的、自动生成帮助文档的C++命令行参数解析库 📅 2026/7/1 4:56:42 链式 API 设计简洁易用 单头文件无外部依赖 支持选项单值、多值、布尔值 支持参数必需参数、可选参数、多值参数 支持子命令和嵌套命令⚙️ 支持默认值 自动生成帮助信息 详细的错误处理和日志系统 支持选项别名和组合如-abc安装将commander_cpp.hpp文件复制到项目中并在代码中包含它#include commander_cpp.hpp示例示例代码#include commander_cpp.hpp using namespace COMMANDER_CPP; int main(int argc, char **argv) { // 构造一个Command对象命令名为example, 等价于Command().name(example) Command(example) // 设置版本号 .version(1.0.0) // 添加一个简介描述文本 -description(一个示例命令行应用) // 添加一个选项选项名是name,设置别名n,并指定参数必选 -option(-n --name name, 你的名字 /* 选项的描述 */) // 添加一个参数参数名是file,并指定参数可选 -argument([file], 要处理的文件路径) // 添加一个动作回调当命令行参数解析完成后调用 -action([](VectorVariant/* std::variant... */ args /* 参数值列表 */, MapString /* 选项名 */, Variant /* 选项值 */ opts /* 选项值列表 */) { if (opts.find(name) ! opts.end()) { std::cout Hello, std::getString(opts[name]) ! std::endl; } else { std::cout Hello, World! std::endl; } }) // 解析命令行参数 -parse(argc, argv); return 0; }运行示例$ ./example -n Alice Hello, Alice! $ ./example -V 1.0.0 $ ./example --help Usage: example [options] 一个示例命令行应用 Options: -V, --version out put version number. -n, --name name 你的名字 -h, --help