Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ULTRIX 4.2 - man page for getopt (ultrix section 3)

getopt(3)						     Library Functions Manual							 getopt(3)

Name
       getopt - get option letter from argument vector

Syntax
       #include <stdio.h>
       int getopt (argc, argv, optstring)
       int argc;
       char **argv;
       char *optstring;

       extern char *optarg;
       extern int optind, opterr;

Description
       The  subroutine	returns the next option letter in argv that matches a letter in optstring.  The optstring is a string of recognized option
       letters; if a letter is followed by a colon, the option is expected to have an argument that may or may not be separated from it  by  white
       space.  The optarg is set to point to the start of the option argument on return from

       The  function places in optind the argv index of the next argument to be processed.  The external variable optind is automatically initial-
       ized to 1 before the first call to

       When all options have been processed (that is, up to the first non-option argument), returns EOF.  The special option --  may  be  used	to
       delimit the end of the options; EOF will be returned, and -- will be skipped.

Diagnostics
       The function prints an error message on stderr and returns a question mark (?)  when it encounters an option letter that is not included in
       optstring.  Setting opterr to 0 disables this error message.

Examples
       The following code fragment shows how one might process the arguments for a command that can take the mutually exclusive options a  and	b,
       and the options f and o, both of which require arguments:
       #include <stdio.h>
       main (argc, argv)
       int argc;
       char **argv;
       {
	      int c;
	      extern int optind, opterr;
	      extern char *optarg;
	      .
	      .
	      .
	      .
	      while ((c = getopt (argc, argv, "abf:o:")) != EOF)
		       switch (c) {
		       case 'a':
			       if (bflg)
				       errflg++;
			       else
				       aflg++;
			       break;
		       case 'b':
			       if (aflg)
				       errflg++;
			       else
				       bproc( );
			       break;
		       case 'f':
			       ifile = optarg;
			       break;
		       case 'o':
			       ofile = optarg;
			       bufsiza = 512;
			       break;
		       case '?':
			       errflg++;
		       }
	       if (errflg) {
		       fprintf (stderr, "usage: . . . ");
		       exit (2);
	       }
	       for ( ; optind < argc; optind++) {
		      if (access (argv[optind], 4)) {
	       .
	       .
	       .
       }

See Also
       getopt(1)

																	 getopt(3)