外贸网站产品关键词,建设银行平潭招聘网站,进出口贸易网站制作,想做个人域名网站怎么做原文地址#xff1a;C语言解析命令行参数 – 无敌牛
欢迎参观我的个人博客#xff1a;无敌牛 – 技术/著作/典籍/分享等
C语言有一个 getopt 函数#xff0c;可以对命令行进行解析#xff0c;下面给出一个示例#xff0c;用的时候可以直接copy过去修改#xff0c;很方便…原文地址C语言解析命令行参数 – 无敌牛
欢迎参观我的个人博客无敌牛 – 技术/著作/典籍/分享等
C语言有一个 getopt 函数可以对命令行进行解析下面给出一个示例用的时候可以直接copy过去修改很方便。
代码
// main.c
// gcc -Wall main.c#include stdio.h
#include stdlib.h
#include string.h
#include unistd.hvoid usage(char* exec_file) {printf(\n);printf(Usage:\n);printf(\n);printf(%s options:\n, exec_file);printf( -C, -c 指定配置文件否则使用默认配置文件[/xxx/xxxx]\n);printf( -F, -f 强制执行\n);printf( -H, -h 打印此页面\n);printf(\n);
}typedef struct _myargs_t{char config_path[1024] ;int f_flag ;
} myargs_t ;int main(int argc, char* argv[]) {myargs_t myargs {/xxx/xxxx,0} ;char opt ;while ((opt getopt(argc, argv, C:c:FfHh)) ! -1) {switch (opt) {case C:case c:printf(get options [%c] arg[%s]\n, opt, optarg) ;snprintf(myargs.config_path, sizeof(myargs.config_path), %s, optarg) ;break;case F:case f:printf(get options [%c]\n, opt) ;myargs.f_flag 1 ;break;case h:case H:usage(argv[0]);return 0 ;default:usage(argv[0]);printf(没有此选项[%c], 请重新选择\n, opt);return 0;}}printf(config_path[%s] f_flag[%d]\n, myargs.config_path, myargs.f_flag ) ;
}
编译测试