尝试解析命令行参数然后将它们打印出来......我怎么能用getopt做到这一点?
我需要getopt作为基础,以便以后开发代码/。
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main (int argc, char **argv)
{
char *cvalue = NULL;
int c;
while ((c = getopt (argc, argv, "n1n2n3n4c:")) != -1)
switch (c):
case n1:
case n2:
case n3:
case n4:
for(int i=0; i<argc;i++)
{
printf("Option: d%", argv[i]);
}
default: break;
printf ("n1flag = %d, n2flag = %d, n3flag = %d, n4flag = %d cvalue = %s\n",
n1flag, n2flag, n3flag, n4flag, cvalue);
for (index = optind; index < argc; index++)
printf ("Non-option argument %s\n", argv[index]);
return 0;
}
答案 0 :(得分:1)
getopt使用单个字符作为选项,因此您无法定义n1,n2,n3,n4等,而是需要为它们提供唯一的单个字符。
请参阅getopt手册页:http://linux.die.net/man/3/getopt