#include #include #include #include #include #include using namespace std; int main (int argc, char **argv) { int aflag = 0; int bflag = 0; char *cvalue = NULL; int c; opterr = 0; while ((c = getopt(argc, argv, "abc:")) != -1) // char getopt(int argc, char **argv, char *parameters) switch (c) { case 'a': aflag = 1; break; case 'b': bflag = 1; break; case 'c': cvalue = optarg; break; case '?': if (optopt == 'c') fprintf (stderr, "Option -%c requires an argument.\n", optopt); else if (isprint (optopt)) fprintf (stderr, "Unknown option `-%c'.\n", optopt); else fprintf (stderr, "Unknown option character `\\x%x'.\n", optopt); return 1; default: abort (); } printf ("aflag = %d, bflag = %d, cvalue = %s\n", aflag, bflag, cvalue); return 0; }