please dont rip this site

Language Ccpp Cref Man Getopt.htm

 <TITLE>getopt</TITLE>
<body background=/C_ref/GRAPHICS/bg1.gif>
<hr>
<pre>



<h3>GETOPT(3)           Linux Programmer's Manual           GETOPT(3)
</h3>

<h3>NAME
</h3>       getopt - Read command line options

<h3>SYNOPSIS
</h3>       #include &lt;unistd.h&gt;

       int getopt(int argc, char * const argv[],
                  const char *optstring);

       extern char *optarg;
       extern int optind, opterr, optopt;

       #include &lt;getopt.h&gt;

       int getopt_long(int argc, char * const argv[],
                       const char *shortopts,
                       const struct option *longopts, int longind);

<h3>DESCRIPTION
</h3>       The  getopt()  function parses the command line arguments.
       Its arguments argc and argv are  the  argument  count  and
       array  as passed to the main() function on program invoca-
       tion.  optstring is a list of available option characters.
       If  such  a  character  is followed by a colon, the option
       takes an argument, which is placed in optarg.

       The external variable optind is  the  index  of  the  next
       array  element  of argv[] to be processed; it communicates
       from one call of getopt() to the  next  which  element  to
       process.

       The getopt_long() function works like getopt() except that
       it also accepts long options, started out by  two  dashes.
       If these take values, it is either in the form --arg=value
       or --arg value.  It takes the  additional  arguments  lon-
       gopts  which is a pointer to the first element of an array
       of struct option declared in &lt;getopt.h&gt; as

          struct option {
              const char *name;
              int has_arg;
              int *flag;
              int val;
          };

          The meaning of the different fields are:

       name   is the name of the long option.

       has_arg
              is a boolean value which should be set  to  nonzero
              if the long option takes a value.

       flag   determines   the   return  value  if  getopt_long()



<h3>GNU                       April 25, 1993                        1
</h3>




<h3>GETOPT(3)           Linux Programmer's Manual           GETOPT(3)
</h3>

              returns a value for a long option; if  it  is  non-
              zero,  zero is returned as a function value, other-
              wise val.

       val    determines the value to return if flag is zero.

       The last element of  the  array  has  to  be  filled  with
       zeroes.

       The  option_index  points  to the index of the long option
       relative to longopts.

<h3>RETURN VALUE
</h3>       The getopt() function returns the option character if  the
       option  was found successfully, ':' if there was a missing
       parameter for one of  the  options,  '?'  for  an  unknown
       option character and -1 for the end of the option list.

<h3>EXAMPLE
</h3>       The  following  example  program,  from  the  source code,
       illustrates the use of getopt_long() with most of its fea-
       tures.

       #include &lt;stdio.h&gt;

       int
       main (argc, argv)
            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[] =
             {
            {"add", 1, 0, 0},
            {"append", 0, 0, 0},
            {"delete", 1, 0, 0},
            {"verbose", 0, 0, 0},
            {"create", 1, 0, 'c'},
            {"file", 1, 0, 0},
            {0, 0, 0, 0}
             };

             c = getopt_long (argc, argv, "abc:d:012",
                        long_options, &option_index);
             if (c == -1)
            break;

             switch (c)



<h3>GNU                       April 25, 1993                        2
</h3>




<h3>GETOPT(3)           Linux Programmer's Manual           GETOPT(3)
</h3>

            {
            case 0:
              printf ("option %s", long_options[option_index].name);
              if (optarg)
                printf (" with arg %s", optarg);
              printf ("0);
              break;

            case '0':
            case '1':
            case '2':
              if (digit_optind != 0 && digit_optind != this_option_optind)
                printf ("digits occur in two different argv-elements.0);
              digit_optind = this_option_optind;
              printf ("option %c0, c);
              break;

            case 'a':
              printf ("option a0);
              break;

            case 'b':
              printf ("option b0);
              break;

            case 'c':
              printf ("option c with value `%s'0, optarg);
              break;

            case 'd':
              printf ("option d with value `%s'0, optarg);
              break;

            case '?':
              break;

            default:
              printf ("?? getopt returned character code 0%o ??0, c);
            }
           }

         if (optind &lt; argc)
           {
             printf ("non-option ARGV-elements: ");
             while (optind &lt; argc)
            printf ("%s ", argv[optind++]);
             printf ("0);
           }

         exit (0);
       }

<h3>BUGS
</h3>       This manpage is confusing.



<h3>GNU                       April 25, 1993                        3
</h3>




<h3>GETOPT(3)           Linux Programmer's Manual           GETOPT(3)
</h3>

<h3>CONFORMS TO
</h3>       getopt() :
              POSIX.1






















































<h3>GNU                       April 25, 1993                        4
</h3>


</pre>
<P>
<hr>
<p>
<center>
<table border=2 width=80%>
<tr align=center>
<td width=25%>
<a href=http:/C_ref/C/index.htm>Top</a>
</td><td width=25%>
<a href=http:/C_ref/C/master_index.html>Master Index</a>
</td><td width=25%>
<a href=http:/C_ref/C/SYNTAX/keywords.html>Keywords</a>
</td><td width=25%>
<a href=http:/C_ref/C/FUNCTIONS/function.ref.html>Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>

This manual page was brought to you by <i>mjl_man V-2.0</i>


file: /Techref/language/ccpp/cref/MAN/getopt.htm, 6KB, , updated: 2003/3/20 10:39, local time: 2024/4/26 14:59,
TOP NEW HELP FIND: 
18.222.119.148:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://www.massmind.org/techref/language/ccpp/cref/MAN/getopt.htm"> getopt</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

 

Welcome to massmind.org!

 

Welcome to www.massmind.org!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .