介绍一个命令行解析库:TCLAP,属于一个比较好用的命令行解析库,Envoy中也用到了这个库,整理出来,方便后续查看。
详细介绍参考:https://tclap.sourceforge.net/html/classTCLAP_1_1SwitchArg.html
使用方法分成几步:
先初始化一些默认的参数数值,parse传递过来的参数之后,会使用传递进来的参数代替掉这些默认值。
// step 1: 实例化CmdLine
TCLAP::CmdLine cmd("Command description message", ' ', "0.9");
// step 2: 参数实现和添加
TCLAP::ValueArg<std::string> nameArg("n","name","Name to print",true,"homer","string");
cmd.add( nameArg );
// step 3: 解析参数
cmd.parse( argc, argv );
// step 4: 获取对应的命令行
std::string name = nameArg.getValue();
bool reverseName = reverseSwitch.getValue();
例子:代码如下
#include <string>
#include <iostream>
#include <algorithm>
#include <tclap/CmdLine.h>
int main(int argc, char** argv)
{
// Wrap everything in a try block. Do this every time

最低0.47元/天 解锁文章
1859

被折叠的 条评论
为什么被折叠?



