Gary wrote up a nice piece of code for you all to demonstrate how getopt works.
#include <stdlib.h>
#include <stdio.h>
void usage(char*);
int arg;
char *str1 = NULL;
char *str2 = NULL;
int main ( int argc, char **argv ) {
while ( (arg=getopt(argc, argv, "a:b:v")) != EOF ) {
switch( arg ) {
case 'a': {
str1 = optarg;
continue;
}
case 'b': {
str2 = optarg;
continue;
}
case 'v': {
printf("version blah blah blah\n");
exit(0);
}
case '?':
default: {
usage( argv[0] );
break;
}
}
}
if ( str1 != NULL ) {
printf("-a = '%s'\n", str1);
}
if ( str2 != NULL ) {
printf("-b = '%s'\n", str2);
}
return 0;
}
void usage(char* name) {
fprintf(stderr, "usage: %s [-a str1 -b str2]\n", name);
exit(-1);
}