Difference between revisions of "Parametri con getopt()."

From Sistemi Operativi
Jump to navigation Jump to search
(Created page with "Un esempio di un programma che accetta come parametri -a -b -c, richiedendo un parametro se si usa -b. <syntaxhighlight lang="C"> #include <stdio.h> #include <stdlib.h> #incl...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Un esempio di un programma che accetta come parametri -a -b -c, richiedendo un parametro se si usa -b.
+
Un esempio di un programma che accetta come comandi -a -b -c, richiedendo un parametro se si usa -b.
 +
Il programma semplicemente stampa i comandi inviati e nel caso di -b stampa il parametro.
  
 
<syntaxhighlight lang="C">
 
<syntaxhighlight lang="C">
Line 9: Line 10:
 
{
 
{
 
     int c;
 
     int c;
    int bvalue;
 
  
 
     while((c = getopt (argc, argv, "ab:c")) != -1){
 
     while((c = getopt (argc, argv, "ab:c")) != -1){
Line 17: Line 17:
 
                 break;
 
                 break;
 
             case 'b':
 
             case 'b':
                bvalue = optarg;
+
                 printf("b %s\n", optarg);
                 printf("b %s\n", bvalue);
 
 
                 break;
 
                 break;
 
             case 'c':
 
             case 'c':
Line 28: Line 27:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
- Alberto

Latest revision as of 02:53, 9 November 2013

Un esempio di un programma che accetta come comandi -a -b -c, richiedendo un parametro se si usa -b. Il programma semplicemente stampa i comandi inviati e nel caso di -b stampa il parametro.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
    int c;

    while((c = getopt (argc, argv, "ab:c")) != -1){
        switch(c){
            case 'a':
                printf("a\n");
                break;
            case 'b':
                printf("b %s\n", optarg);
                break;
            case 'c':
                printf("c\n");
                break;
        }
    }
    return 0;
}

- Alberto