【C++】cmdline —— 轻量级的C++命令行解析库

平时用C++写一些命令行工具,需要解析命令行的输入参数,这是一项繁琐并且容易出错的工作,我们不应该将主要精力放在这上面,可以考虑使用开源的库,下面的cmdline就是其中非常好用的一款。

cmdline介绍

cmdline 是一个非常简单好用的C++命令行解析库,其基于模板,所以使用很简单,写出的代码也很优雅。由于其只包含一个头文件,所以很容易集成到自己的项目中。

cmdline项目托管地址Github:https://github.com/tanakh/cmdline

cmdline使用

下面是cmdline项目首页给出的示例代码,我将其中的注释翻译成了中文,同时添加了一些自己使用经验和理解。

 
 
 
  1. #include "cmdline.h"
  2. int main(int argc, char *argv[])
  3. {
  4. // 创建一个命令行解析器
  5. cmdline::parser a;
  6. // 添加指定类型的输入参数
  7. // 第一个参数:长名称
  8. // 第二个参数:短名称('\0'表示没有短名称)
  9. // 第三个参数:参数描述
  10. // 第四个参数:bool值,表示该参数是否必须存在(可选,默认值是false)
  11. // 第五个参数:参数的默认值(可选,当第四个参数为false时该参数有效)
  12. a.add<string>("host", 'h', "host name", true, "");
  13. // 第六个参数用来对参数添加额外的限制
  14. // 这里端口号被限制为必须是1到65535区间的值,通过cmdline::range(1, 65535)进行限制
  15. a.add<int>("port", 'p', "port number", false, 80, cmdline::range(1, 65535));
  16. // cmdline::oneof() 可以用来限制参数的可选值
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值