
工作上写了两版,第一版封装的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 |