ein Kapitel zurück                                           ein Kapitel weiter

Ähnlich wie unser Beispiel im Kapitel zuvor, funktioniert auch die für POSIX-Konforme Compiler, zur Verfügung stehende Funktion getopt....

#include <unistd.h>

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


Diese Funktion bearbeitet Kommandozeilenargumente wie bei der main-Funktion. Liest die Funktion in argv als erstes Zeichen ein '-' oder '--', handelt es sich um einen Schalter. Ansonsten um einen ganz normalen String. Gibt die Funkion ein '?'-Zeichen zurück handelt es sich um einen Unbekannten Schalter. Gibt die Funktion 1 zurück handelt es sich um einen normalen String und wenn die Funktion EOF zurückgibt sind wir am Ende der Optionsliste. Wollen wir uns ein simples Beispiel ansehen.....

/*Download:getopt.c*/
#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
char option;
while( (option = getopt(argc, argv , "-rsgvh")) != EOF)
{
switch(option)
{
case 'r' : printf("Funktion spiegeln() aufrufen\n");break;
case 's' : printf("Funktion smaller() aufrufen\n");break;
case 'g' : printf("Funktion larger() aufrufen\n");break;
case 'v' : printf("Version 1.2\n");break;
case 'h' : printf("Hilfe aufrufen\n");break;
case '?' : printf("Unbekanntes Optionszeichen\n");break;
case 1 : printf("Normaler String\n");break;
}
}
return 0;
}

Daran können sie schon erkennen das uns die Funktion getopt ein Haufen Arbeit abnimmt. Sie können diese Methode gerne in unser Programm vom Kapitel zuvor, einbauen.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf