|
![ein Kapitel weiter](../weiter.gif)
Ä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 weiter](../weiter.gif)
© 2001,2002 Jürgen Wolf
|