1.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.4 KiB
		
	
	
	
	
	
	
	
CArgParse
C语言易用的命令参数分析
特性
- 自动生成帮助信息
- 默认值支持
- 子命令支持
安装
cmake安装
cmake -S . -B build
cmake --build build
cmake --install build
conan安装
将库构建为conan包
conan create .
示例程序
构建简单的命令行程序
#include "ArgParse.h"
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
ArgParse *Init() {
    ArgParse *ap = argParseInit("简单的命令行工具示例");
    // 添加第一个命令
    Command *cmd = argParseAddCommand(
        ap, "list", "列出文件列表", NULL, NULL, NULL, SINGLEVALUE);
    // 添加第一个命令的参数
    argParseAddArg(cmd,
                   "-a",
                   "--all",
                   "列出所有文件包括隐藏文件",
                   NULL,
                   NULL,
                   false,
                   NOVALUE);
    return ap;
}
int main(int argc, char *argv[]) {
    ArgParse *ap = Init();
    argParseParse(ap, argc, argv);
    char *dir = argParseGetCurCommandValue(ap);
    if (dir != NULL) {
        printf("列出目录: %s 的文件列表\n", dir);
    }
    if (argParseCheckCurArgTriggered(ap, "-a")) {
        printf("触发了 -a 参数,列出所有文件\n");
    }
    argParseFree(ap);
    return 0;
}
example -h
