Parsing command-line arguments with getopt, continued
Let's repeat the previous example using getopt:
#include <stdio.h>
#include <stdbool.h>
#include <unistd.h>
#include <getopt.h>
#define OPTLIST "d"
int main(int argc, char *argv[])
{
int opt;
.....
opterr = 0;
while((opt = getopt(argc, argv, OPTLIST)) != -1) {
if(opt == 'd')
dflag = !dflag;
else
argc = -1;
}
if(argc < 0) {
fprintf(stderr, "Usage: %s [-d] [filename]\n", progname);
exit(EXIT_FAILURE);
}
while(optind < argc) {
process( argv[optind] );
++optind;
}
.....
return 0;
}
|
CITS2002 Systems Programming, Lecture 18, p6, 2nd October 2023.
|