<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    boost 分析命令行參數

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接 [cpp] view plaincopy  
    1. #include <boost/program_options.hpp>  
    2. #include <iostream>  
    3. #include <vector>  
    4. using namespace std;  
    5. using namespace  boost::program_options;  
    6. int main(int argc, char* argv[])  
    7. {  
    8.   string one ; // 外部變量 存儲 參數one的值  
    9.   vector<string> mult;  
    10.   boost::program_options::options_description opts("test options");  
    11.   opts.add_options()  
    12.     ("help,h","help info")  
    13.     ("test1,t",value<string>(),"test aaa ")  
    14.     ("one,o",value<string>(&one)->default_value("one"),"test one default") // 默認值   
    15.     ("mult,m",value<vector<string> >(&mult)->multitoken(),"mult test"); //多個參數  
    16.   
    17.   variables_map vm;  
    18.   try  
    19.   {  
    20.     store(parse_command_line(argc,argv,opts),vm); // 分析參數  
    21.   }  
    22.   catch(boost::program_options::error_with_no_option_name &ex)  
    23.   {  
    24.     cout<<ex.what()<<endl;  
    25.   }  
    26.   
    27.   notify(vm); // 將解析的結果存儲到外部變量  
    28.   if (vm.count("help"))  
    29.   {  
    30.     cout<<opts<<endl;  
    31.     return -1;  
    32.   }  
    33.   if(vm.count("test1"))  
    34.   {  
    35.    cout<<vm["test1"].as<string>()<<endl;  
    36.   }  
    37.     
    38.   cout<<one<<endl;  
    39.   cout<<mult.size()<<endl;  
    40.     
    41.   getchar();  
    42.   
    43.   return 0;  
    44. }  

    [root@localhost test4]# g++ main.cpp  -l boost_program_options
    [root@localhost test4]# ./a.out  -h
    test options:
      -h [ --help ]           help info
      -t [ --test1 ] arg      test aaa 
      -o [ --one ] arg (=one) test one default
      -m [ --mult ] arg       mult test


    [root@localhost test4]# ./a.out  -m f2 f3 f4 --test1 testbbbb
    testbbbb
    one
    3

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全