#include<stdlib.h>
#include<getopt.h>
int main(int argc,char **argv)
{
const char *optstring="n:v";
int c,deb,index;
struct option opts[]={{"username",required_argument,NULL,'n'},
{"version",no_argument,NULL,'v'},
{"debug",no_argument,&deb,34},
{0,0,0,0},
};
while((c=getopt_long_only(argc,argv,optstring,opts,&index))!=-1)
{
switch(c)
{
case 'n'://-n or --username to username
printf("username is %s\n",optarg);
break;
case 'v'://-v or --version
printf("version is 0.0.1 \n");
break;
case 0://flag not NULL
printf("debug is %d\n",deb);
break;
case '?'://not init
printf("?\n");
break;
default :
printf("c is %d\n",c);
break;
}
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<getopt.h>
int main(int argc,char **argv)
{
const char *optstring="n:v";
int c,deb,index;
struct option opts[]={
{"username",required_argument,0,0},
{"n",required_argument,0,0},
{"version",no_argument,0,0},
{"v",no_argument,0,0},
{"debug",no_argument,0,0},
{"d",no_argument,0,0},
{"help",no_argument,0,0},
{"h",no_argument,0,0}
};
while((c=getopt_long_only(argc,argv,optstring,opts,&index))!=-1)
{
switch(index)
{
case 0:
case 1://-n or --username to username
printf("username is %s\n",optarg);
break;
// case 2:
case 3://-v or --version
printf("version is 0.0.1 \n");
break;
case 4:
case 5://flag not NULL
printf("debug is yes\n");
break;
case 6:
case 7://not init
printf("help:?\n");
break;
default :
printf("c is %d\n",index);
break;
}
}
return 0;
}