Unix/Linux程序设计之getopt函数浅谈
Linux中getopt函数用法: getop函数用于解析命令行参数的以'-'或者‘--'开头的参数选项,除去'-'或者'--'选项元素 #include<unistd.h> intgetopt(intargc,char*constargv[],constchar*optstring); externchar*optarg; externintoptind,opterr,optopt;
#include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<string.h> #include<errno.h> intmain(intargc,char*argv[]) { intoc;//选项字符 char*b_opt_arg;//选项参数字符串 while((oc=getopt(argc,argv,"ngl:"))!=-1) { switch(oc) { case'n': printf("Mynameisfengkain"); break; case'g': printf("Hernameiszhanghaunn"); break; case'l': b_opt_arg=optarg; printf("Ourloveis%sn",b_opt_arg); break; } } return0; }
#include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<string.h> #include<errno.h> intmain(intargc,b_opt_arg); break; case'?': printf("arguementerrorn"); break; } } return0; } 3、参数开始加上":"根据出错情况返回: #include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<string.h> #include<errno.h> intmain(intargc,char*argv[]) { intoc;//选项字符 charec;//无效的选项字符 char*b_opt_arg;//选项参数字符串 while((oc=getopt(argc,":ngl:"))!=-1) { switch(oc) { case'n': printf("Mynameisfengkain"); break; case'g': printf("Hernameiszhanghaunn"); break; case'l': b_opt_arg=optarg; printf("Ourloveis%sn",b_opt_arg); break; case'?': printf("arguementerrorn"); break; case':': printf("缺少选项参数!n"); break; } } return0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |