您的位置:首页 > 其它

boost解析argv

2016-04-10 21:52 246 查看
#include<boost/program_options.hpp>

namespacepo=boost::program_options;

boolparse_command_line(intargc,char*argv[],po::variables_map&vm){
po::options_descriptiondesc("Allowedoptions");
desc.add_options()
("help","producehelpmessage")
("a",po::value<std::string>()->required(),"providethedatabasedir")
("b",po::value<std::string>()->required(),"destdirforsavefinalkv")
("c",po::value<int>()->required(),"providewhichframetostartwith");try{
po::store(po::parse_command_line(argc,argv,desc),vm);
if(vm.count("help")){
std::cerr<<desc<<std::endl;
returnfalse;
}

po::notify(vm);
}catch(std::exception&e){
std::cerr<<"Error:"<<e.what()<<"\n";
returnfalse;
}catch(...){
std::cerr<<"Unknownerror!"<<"\n";
returnfalse;
}
returntrue;
}


intmain(intargc,char*argv[]){ //parsecommandlines po::variables_mapboost_args; if(!parse_command_line(argc,argv,boost_args)){ std::cerr<<"Parseinputcommandlinefailed."<<std::endl; return1; } cout<<boost_args["a"]<<endl; }


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: