#include /* for printf */ #include /* for exit */ #include int main (int argc, char **argv) { int c; int digit_optind = 0; while (1) { int this_option_optind = optind ? optind : 1; int option_index = 0; static struct option long_options[] = { {" spam ", 1, 0, 0}, {"eggs ", 1, 0, 0}, {" cheese", 1, 0, 0}, {0, 0, 0, 0} }; c = getopt_long (argc, argv, "", long_options, &option_index); if (c == -1) break; switch (c) { case 0: printf ("option %s", long_options[option_index].name); if (optarg) printf (" with arg %s", optarg); printf ("\n"); break; case '?': break; default: printf ("?? getopt returned character code 0%o ??\n", c); } } exit (0); }