青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

zhujian

揣著夢想騎驢找馬但不虐待驢
posts - 10, comments - 7, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

Boost program_options(續(xù))

Posted on 2011-01-13 13:17 逐漸 閱讀(564) 評論(0)  編輯 收藏 引用
下面介紹如何從配置文件中讀參數,配置文件中采用name = value的形式,#行表示注釋.
 1 #include <boost/program_options.hpp>
 2 
 3 #include <vector>
 4 #include <iostream>
 5 #include <string>
 6 #include <algorithm>
 7 #include <iterator>
 8 #include <fstream>
 9 using std::copy;
10 using std::vector;
11 using std::string;
12 using std::cout;
13 using std::cerr;
14 using std::endl;
15 using std::exception;
16 using std::ostream;
17 using std::ifstream;
18 using std::ostream_iterator;
19 
20 namespace po=boost::program_options;
21 
22 // output vector.
23 template <typename T>
24 ostream& operator<<(ostream& os, const vector<T>& v)
25 {
26     copy(v.begin(), v.end(), ostream_iterator<T>(os, " "));
27     return os;
28 }
29 
30 int main(int argc, char*argv[])
31 {
32     try
33     {
34         string conf_file;
35         po::options_description desc("general descriptions.");
36         desc.add_options()
37             ("help""generate help information")
38             ("config,c", po::value<string>(&conf_file)->default_value("compiler.conf"), "compiler configure file")
39             ("input-file", po::value<vector<string> >(), "input files")
40             ("link-file,l", po::value<vector<string> >()->composing(), "link file");
41 
42         po::positional_options_description p;
43         p.add("input-file"-1);
44 
45         po::variables_map vm;
46         //po::store(po::parse_command_line(argc, argv, desc), vm);
47         po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm);
48         po::notify(vm);
49 
50       
51         if(vm.count("help"))
52         {
53             cout<<desc<<endl;
54             return 1;
55         }
56 
57         // add following lines
58         ifstream i_conf(conf_file.c_str());
59         if(!i_conf)
60         {
61             cerr<<"Configure file not exit.\n";
62             return -1;
63         }
64         else
65         {
66             po::store(po::parse_config_file(i_conf, desc), vm);
67             notify(vm);
68         }
69         
70         if(vm.count("input-file"))
71         {
72             cout<<"Input files: "<<vm["input-file"].as<vector<string> >()
73                 <<"\n";
74         }
75 
76         if(vm.count("link-file"))
77         {
78             cout<<"Link file: "<<vm["link-file"].as<vector<string> >()
79                 <<"\n";
80         }
81     }
82     catch(exception& e)
83     {
84         cout<<e.what()<<endl;
85         return -1;
86     }
87 
88     return 0;
89 }
90 

第38行添加了config參數命令,接受一個string類型值,并將默認值設為compiler.conf.
第40行添加了composing()方法,這表示程序將從不同的數據源中獲得數據并組合起來.
第66行解析配置文件并存儲至vm.
接下來代碼便是比對vm中選項值,簡單吧:)

boost文檔里介紹了隱藏選項和存放多姐選項的方法,http://www.boost.org/doc/libs/1_45_0/doc/html/program_options/tutorial.html#id2073299






只有注冊用戶登錄后才能發(fā)表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲视频一区| 午夜精品视频一区| 欧美精品免费在线| 亚洲精品免费看| 亚洲日韩欧美视频一区| 欧美激情久久久久久| 日韩午夜在线视频| 精品成人乱色一区二区| 久久久亚洲影院你懂的| 久久一区二区三区四区| 国内自拍亚洲| 亚洲国产欧美一区二区三区同亚洲 | 美国十次成人| 欧美v日韩v国产v| 99精品视频免费| 亚洲女人av| 国户精品久久久久久久久久久不卡 | 激情懂色av一区av二区av| 免费成人美女女| 欧美日韩性生活视频| 欧美在线观看一区二区三区| 久久久综合激的五月天| 一区二区久久久久| 欧美在线啊v| 99热在线精品观看| 欧美一级午夜免费电影| 日韩视频二区| 欧美在线免费| 国产精品99久久久久久www| 激情久久久久| 亚洲视频在线一区| 亚洲欧洲三级| 欧美一区二区在线观看| 在线视频精品一| 久久成人免费日本黄色| 一区二区三区日韩| 久久性色av| 久久久99国产精品免费| 欧美日韩www| 欧美 日韩 国产在线| 国产精品亚洲成人| 一区二区欧美亚洲| 亚洲国产你懂的| 久久久成人网| 欧美一区二区在线免费播放| 欧美日韩在线大尺度| 欧美福利视频在线| 一区二区在线免费观看| 欧美一级成年大片在线观看| 一区二区三区www| 免费h精品视频在线播放| 久久亚洲欧美国产精品乐播| 国产精品一区一区三区| 亚洲视频久久| 亚洲午夜视频| 欧美少妇一区二区| 99国产精品久久久久老师| 亚洲狠狠婷婷| 噜噜噜躁狠狠躁狠狠精品视频| 久久久国产午夜精品| 国产精品一卡| 亚洲欧美日韩国产综合精品二区 | 欧美日韩精品免费 | 亚洲在线视频| 欧美日韩综合久久| 一本一本久久a久久精品牛牛影视| 亚洲精品日韩激情在线电影| 免费看亚洲片| 亚洲精品人人| 亚洲精品午夜| 欧美国产日韩二区| 99re6这里只有精品视频在线观看 99re6这里只有精品 | 亚洲免费观看高清完整版在线观看| 亚洲国产成人精品视频| 欧美成人国产| 99re亚洲国产精品| 亚洲一区日韩在线| 国产精品婷婷| 欧美伊人久久大香线蕉综合69| 久久久久久国产精品mv| 亚洲第一成人在线| 欧美a级在线| 亚洲精品视频免费| 亚洲自拍电影| 国产一区二区三区日韩| 久久婷婷av| 亚洲欧洲一区二区三区久久| 亚洲伊人网站| 在线观看日韩av先锋影音电影院| 久久青青草原一区二区| 91久久线看在观草草青青| 亚洲无人区一区| 国产午夜亚洲精品不卡| 久久综合五月| 99视频在线观看一区三区| 久久av一区二区三区漫画| 在线欧美视频| 国产精品v欧美精品v日韩精品| 欧美一区二区三区免费观看视频| 欧美成人久久| 亚洲欧美国产高清| 在线观看视频一区二区| 欧美日韩精品高清| 久久九九99| 在线天堂一区av电影| 免费在线看一区| 亚洲欧美日韩国产一区| 在线欧美日韩国产| 国产免费观看久久| 欧美日本精品一区二区三区| 欧美一区2区三区4区公司二百 | 欧美影院一区| 亚洲免费福利视频| 国产一区二区三区奇米久涩| 欧美日韩亚洲一区二区三区在线| 久久久亚洲精品一区二区三区 | 午夜欧美大尺度福利影院在线看| 欧美国产日韩视频| 久久精品日韩| 亚洲永久免费精品| 亚洲精品三级| **性色生活片久久毛片| 国产日韩精品久久| 国产精品久久二区二区| 欧美激情欧美激情在线五月| 久久久久www| 久久av二区| 亚洲桃色在线一区| 一本色道综合亚洲| 亚洲国产综合91精品麻豆| 欧美不卡激情三级在线观看| 久久精品色图| 久久精品成人一区二区三区蜜臀| 亚洲午夜羞羞片| 亚洲调教视频在线观看| 亚洲欧洲一区二区三区| 亚洲国产视频直播| 怡红院精品视频| 亚洲成人在线网| 亚洲国产精品成人一区二区| 国产综合色产在线精品| 国产午夜精品久久久久久免费视| 国产精品第13页| 国产精品白丝jk黑袜喷水| 欧美三级第一页| 国产精品久久久久av免费| 欧美日韩中文精品| 国产精品乱码一区二区三区 | 久久成人国产| 久久国产黑丝| 久久亚洲美女| 老司机精品导航| 欧美成人高清视频| 欧美日韩免费区域视频在线观看| 欧美精品在线一区二区三区| 欧美日韩一区二区在线| 国产精品久久久久婷婷| 国产精品一区二区久久国产| 国产亚洲欧美在线| 在线日韩中文| 一区二区三区四区五区精品视频| 亚洲伊人网站| 久久国产手机看片| 牛牛影视久久网| 亚洲美女啪啪| 欧美一区二区三区在| 狂野欧美激情性xxxx欧美| 欧美国产三级| 国产精品无码专区在线观看 | 欧美精品日韩综合在线| 欧美视频中文字幕| 国产视频观看一区| 亚洲日韩第九十九页| 亚洲自拍偷拍视频| 久久久久久久999| 亚洲日产国产精品| 欧美一区二区三区视频在线观看| 久久精品视频一| 欧美日韩视频在线观看一区二区三区| 国产精品卡一卡二| 亚洲精品国偷自产在线99热| 午夜精品偷拍| 亚洲福利视频一区| 亚洲欧美日韩电影| 欧美激情视频一区二区三区不卡| 国产精品乱码一区二三区小蝌蚪| 在线观看一区| 午夜精品影院在线观看| 亚洲成人资源网| 亚洲伦理网站| 久久丁香综合五月国产三级网站| 欧美国产日韩在线| 亚洲欧美激情一区二区| 欧美日韩第一区| 伊人伊人伊人久久| 久久9热精品视频| 一区二区久久久久| 免费看成人av| 伊人久久综合97精品| 欧美中文日韩|