#include <stdio.h>
#include <getopt.h>
static struct option long_options[] = {
{"user", required_argument, 0, 'u'},/*'u'表示返回值*/
{"password", required_argument, 0, 'p'},
{"startip", required_argument, 0, 's'},
{"endip", required_argument, 0, 'e'},
{"interface", optional_argument, 0, 'i'},
{"help", no_argument, 0, 'h'},
{0, no_argument, 0, 0}
};
int main(int argc, char **argv)
{
int c;
while (1) {
int option_index = 0;
c = getopt_long (argc, argv, "u:p:s:e:i::h",/*:表示要有值,::表示是option*/
long_options, &option_index);
if(c == -1)
break;
switch (c){
case 'u':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 'p':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 's':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 'e':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 'i':
if (optarg){
printf (" with arg %s", optarg);
printf ("/n");
}
break;
case 'h':
case '?':
usage();
break;
default:
printf ("?? getopt returned character code 0%o ??/n", c);
}
}
if (optind < argc) {
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf ("/n");
}
exit (0);
}
#include <getopt.h>
static struct option long_options[] = {
{"user", required_argument, 0, 'u'},/*'u'表示返回值*/
{"password", required_argument, 0, 'p'},
{"startip", required_argument, 0, 's'},
{"endip", required_argument, 0, 'e'},
{"interface", optional_argument, 0, 'i'},
{"help", no_argument, 0, 'h'},
{0, no_argument, 0, 0}
};
int main(int argc, char **argv)
{
int c;
while (1) {
int option_index = 0;
c = getopt_long (argc, argv, "u:p:s:e:i::h",/*:表示要有值,::表示是option*/
long_options, &option_index);
if(c == -1)
break;
switch (c){
case 'u':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 'p':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 's':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 'e':
printf (" with arg %s", optarg);
printf ("/n");
break;
case 'i':
if (optarg){
printf (" with arg %s", optarg);
printf ("/n");
}
break;
case 'h':
case '?':
usage();
break;
default:
printf ("?? getopt returned character code 0%o ??/n", c);
}
}
if (optind < argc) {
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf ("/n");
}
exit (0);
}