![]() |
|
|
AufrufparameterIn der Variablen argc steht nach dem Start, wieviele Parameter bei Aufruf des Programmes übergeben wurden. Dieser Wert ist immer mindestens 1, da auch der Name, unter dem das Programm aufgerufen wurde, als Parameter zählt. Die Variable argv ist ein Array von Strings. Die Programmparameter werden von der Shell an den Leerzeichen zerlegt und dann einzeln an das Programm weitergereicht. Beispiel:
tudochwas -f huhu lol* Der Wildcard von lol* wird bekanntermaßen von der Shell ausgewertet. Wenn im aktuellen Verzeichnis die Dateien lolita, lolli und lonzo stehen, sind die Parameter von main() folgendermaßen belegt:
In argc steht eine 5. Im Element argv[0] findet sich der Name des Programmes
inklusive Pfad, in diesem Fall ./tudochwas.
Da
Da das erste Element in argv immer der Name ist, mit dem das Programm
aufgerufen wurde, kann man dem Programm Optionen durch den Befehlsnamen
mitgeben. So entspricht beispielsweise der Befehl An den letzten Argumenten erkennt man, dass der Stern unter UNIX von der Shell aufgelöst wird. Dadurch ist erreicht, dass alle Programme von Haus aus die Wildcards der Shell gleichermaßen interpretieren, da sie sie selbst nicht auswerten. Das folgende kleine Programm zeigt seine Aufrufparameter an:
[Zeigt die Aufrufparameter] int main(int argc, char **argv) { int i; for (i=0; i<argc; i++) { puts(argv[i]); } return 0; }
Auch der Rückgabewert der Funktion main() ist von Bedeutung, da dieser an den
Aufrufer zurückgegeben wird. Als Konvention gilt eine 0 als Hinweis,
dass das Programm fehlerfreier ablief. Alle anderen Werte werden als
Fehlermeldungen interpretiert.
Wenn Fehler mitten im Programm entstehen, ist es oft sehr umständlich, wieder
zur Funktion main() zurückzukehren. Hier hilft die Funktion
|
|
Copyright © Rheinwerk Verlag GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken.
Ansonsten unterliegt das Openbook denselben Bestimmungen wie die gebundene Ausgabe:
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie
Einspeicherung und Verarbeitung in elektronischen Systemen.
Nutzungsbestimmungen | Datenschutz | Impressum
Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de
Cookie-Einstellungen ändern