C++命令行参数的实现方法及使用方法,代码详细,执行正命令行参数的实现方法及使用方法,代码详细,执行正
确。确。
执行程序时,经常会用到命令行参数传递参数这种方式,今天实战一个命令行参数的从头到尾。
博文虽长,但均为干货。
先写个主函数
#include
int main(const int argc, const char* argv[]) //argc和argv的类型不一样,
{
try{
const auto po = translateParams(argc,argv); //解析函数。先写这,等会在声明实现。
}
}
接下来写解析函数
记录一下program options的用法
program options是一系列pair组成的选项列表,它允许程序通过命令行或配置文件来读取这些参数选项.
组件:
1.options_description(选项描述器):描述当前程序定义了哪些选项
2.parse_command_line(选项分析器):解析命令行输入的参数
3.variables_map(选项存储器):容器,用于存储解析后的选项
#include
#include
using namespace boost::filesystem;
//定义一个数据库的枚举
enum DataSourceType
{
ORACLE, //oracle类型的数据库
SQLSERVER //sqlserver类型的数据库
};
//定义一个解析结果类型,这里写一个结构体
struct ProgramOptions
{
std::wstring name;
std::wstring pass;
std::wstring host;
std::wstring port;
std::wstring itemID;
std::wstring filePath;
}
//解析函数的实现
ProgramOptions translateParams(int argc, char* argv[])
{
//boost c++ libraries提供了programoption;上面有该命名空间的三个组件说明
using namespace boost::program_options;
//定义选项描述器(组件1)
options_description bOptions("main Options") //给描述器起个名字,叫“main Options”
//添加当前程序定义的选项
//add_Options函数,重载了()操作符; operator()(const char* name, const value_semantic* s, const char* description);
/* //wvalue是个模板函数
template
typed_value*
wvalue()
{
评论0