• boost::program_options


    boost::program_options 解析命令行,包括多参数命令行解析示例如下:

    示例代码:

     1 #include "stdafx.h"
     2 
     3 #include <iostream>
     4 #include "boost/program_options.hpp"
     5 
     6 namespace bpo = boost::program_options;
     7 
     8 std::string showstring(std::string str){
     9     std::cout << str << std::endl;
    10     return std::string(str + ";");
    11 }
    12 
    13 int _tmain(int argc, _TCHAR* argv[])
    14 {
    15     bpo::options_description app_options("APP options");
    16     app_options.add_options()
    17         ("help,h", "Print this help message and exit.")
    18         ("num", bpo::value<uint32_t>(), "int")
    19         ("word", bpo::value<std::vector<std::string>>(),"string")
    20         ;
    21 
    22     bpo::variables_map options;
    23     bpo::store(bpo::parse_command_line(argc, argv, app_options), options);
    24 
    25     if (options.count("num"))
    26     {
    27         std::cout << "num " << options["num"].as<uint32_t>() << std::endl;
    28     }
    29     if (options.count("word"))
    30     {
    31         std::vector<std::string> words = options["word"].as<std::vector<std::string>>();
    32         std::transform(words.begin(), words.end(), words.begin(), showstring);
    33 
    34         for (const auto& itr : words){
    35             std::cout << "===> " << itr << std::endl;
    36         }
    37     }
    38 
    39     getchar();
    40     return 0;
    41 }

    命令行参数输入:

    输出结果:

  • 相关阅读:
    使用C#开发ActiveX控件
    安装Python 3.6
    SDL 2.0 API by Category
    SDL的基础知识以及利用SDL播放视频
    区块链的java实现
    区块链工业架构设计
    微服务架构的优势与不足
    微服务架构设计
    FFmpeg常用基本命令
    FFmpeg进行屏幕录像和录音
  • 原文地址:https://www.cnblogs.com/tyche116/p/9436310.html
Copyright © 2020-2023  润新知