HW_Lib/lib/utils/inc/argpase.h

47 lines
865 B
C
Raw Normal View History

2024-05-10 05:47:39 +00:00
#ifndef ARGPASE_H
#define ARGPASE_H
2024-05-20 13:53:19 +00:00
#ifdef __cplusplus
extern "C" {
#endif
#include "stdbool.h"
2024-05-10 05:47:39 +00:00
typedef char OptId;
typedef struct Option {
char *name;
OptId id;
} Option;
typedef struct OptList {
struct OptList *next;
Option *Option;
} OptList;
extern char *Optarg, *Optstr;
//索引指示可手动重载为0
extern int Optindex;
//选项链表创建
OptList *Options_Creat(char *opt, OptId index);
//使用选项结构体创建
OptList *Options_CreatOpt(Option *opt);
//添加
void Options_Add(OptList *opts, OptList *opt);
//删除
bool Options_Del(OptList *opts, char *opt);
//打印选项和id
void Options_Print(OptList *opts);
//开始匹配参数
OptId Options_Load(OptList *opts, char *argv[], size_t argc);
//字符串转参数数组
size_t Str_To_Args(char *str, char *argv[]);
2024-05-20 13:53:19 +00:00
#ifdef __cplusplus
}
#endif
2024-05-10 05:47:39 +00:00
#endif //ARGPASE_H