1 Star 0 Fork 0

奥大梨呀/OptionParser

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
example.cpp 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
奥大梨呀 提交于 2025-04-27 10:30 +08:00 . release
#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;
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/Jumping99/option-parser.git
git@gitee.com:Jumping99/option-parser.git
Jumping99
option-parser
OptionParser
master

搜索帮助