代码拉取完成,页面将自动刷新
#include "OptionParser.h"
static int aValue = 0;
static std::string stringValue;
static float fValue = 0;
int main(int argc, const char *argv[])
{
Option option;
OptionParser parser;
option.init("a"); // 初始化选项,指定名称
option.bindVariable(&aValue, Option::Integer); // 绑定变量
option.bindCallback( [](Option &option){ printf("option a: %d\n", aValue); } ); // 绑定选项捕获回调函数
parser.addOption(option); // 添加选项到解码器
option.init("string");
option.bindVariable(&stringValue, Option::String);
option.bindCallback( [](Option &option){ printf("option string: %s\n", stringValue.c_str()); } );
parser.addOption(option);
option.init("f");
option.bindVariable(&fValue, Option::Float);
option.bindCallback( [](Option &option){ printf("option f: %g\n", fValue); } );
parser.addOption(option);
auto helpCb = [](Option &option){ printf("option help message\n"); };
option.init("help");
// 帮助信息不需要绑定变量
option.bindCallback(helpCb);
parser.addOption(option);
option.init("h");
option.bindCallback(helpCb);
parser.addOption(option);
bool ret = parser.process(argc, argv); // 解析
if (ret == false)
printf("option parser failed\n");
else
printf("option parser complite\n");
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。