工作上写了两版,第一版封装的argp
,第二版有了大体框架,这算是第三版,做了细致的完善,同时补了文档、示例、测试,分享出来。
项目地址:https://github.com/XUJINKAI/cmdparser
主要功能:对 short/long option 解析;支持子命令,并且子命令支持嵌套;可以自定义提示信息,自定义隐藏命令等。
除了回调函数和储存解析结果,其他定义都在一个结构体中。
static cmdp_command_st cmdp = {
.options = {
{'i', "long", "Input Int Option", CMDP_TYPE_INT4, &arg.i},
{0},
},
.sub_commands = (cmdp_command_st[]){
{
.name = "sub",
.doc = "text...\n",
.options = {...},
.fn_process = sub_callback,
},
{0},
},
.fn_process = main_callback,
};
int main(int argc, char **argv)
{
return cmdp_run(argc - 1, argv + 1, &cmdp);
}
更复杂的示例的话,我照着 git 仿写了一部分命令,可以看这里。
虽然是个简单的库,自认为做的还是很完善的,能适应大多需求,求个 star😊
1
misaka19000 2022-09-27 22:51:19 +08:00
资瓷~
|
2
duke807 2022-09-28 00:04:00 +08:00 via Android
|