C++ boost 解析命令行

  //解析命令行
  options_description opts("gw options");
  opts.add_options()("version,v", "print version string")
      ("help,h", "help message\n a bit of long text")
      ("config,c", value<string>()->default_value("config.json"), "load config file");
  variables_map vm;
  store(parse_command_line(argc, argv, opts), vm);
  notify(vm);
  print_vm(opts, vm);
/**
 * print_vm  打印命令行参数
 * @param[in] opts 描述信息
 * @param[in] vm
 * @return
 */
void print_vm(options_description &opts, variables_map &vm) {
    cout << vm.count("version") << endl;
    cout << vm.count("help") << endl;
    if (vm.count("version")) {
        cout << "v1.1" << endl;
        return;
    }
    if (vm.count("config")) {
        cout << "config.json" << endl;
        return;
    }
    if (vm.empty() || vm.count("help")) {
        cout << opts << endl;
        return;
    }
}

打印出的选项:

gw options:
  -v [ --version ]                   print version string
  -h [ --help ]                      help message
                                      a bit of long text
  -c [ --config ] arg (=config.json) load config file

运行代码时,加-v / -h /-c会有不同的打印

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值