Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Eine Einführung in die Programmiersprache C und die Grundlagen ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />
22 Standardargumente<br />
Wenn e<strong>in</strong> Programm gestartet wird, erhält es vom Betriebssystem Argumente. Diese Argumente<br />
werden der Funktion ma<strong>in</strong>(<strong>in</strong>t argc, char *argv[]) <strong>in</strong> den Variablen argc <strong>und</strong> argv<br />
übergeben. Die Namen s<strong>in</strong>d nicht zw<strong>in</strong>gend vorgeschrieben, haben sich aber e<strong>in</strong>gebürgert.<br />
In der Variablen argc (argument count) ist <strong>die</strong> Anzahl der Argumente abgelegt, <strong>und</strong> <strong>die</strong> Variable<br />
argv (argument vector) ist e<strong>in</strong> entsprechend grosses Array aus Str<strong>in</strong>gs, welche <strong>die</strong> Argumente enthalten.<br />
Es können also nur Str<strong>in</strong>gs übergeben werden. Das erste Argument ist immer der Programmname,<br />
<strong>und</strong> zwar der effektive Namen der beim Aufruf gültig ist, <strong>in</strong>klusive dem Pfad zum<br />
Programm. (Wenn <strong>die</strong> Datei umbenannt wurde, wird der neue Name geliefert, <strong>und</strong> nicht der zur<br />
Compilezeit gültige).<br />
Die Argumente müssen dem Programm beim Aufruf via Commandl<strong>in</strong>e durch Leerzeichen separiert<br />
h<strong>in</strong>ter dem Programmnamen angegeben werden. Ob <strong>und</strong> wie <strong>die</strong> Argumente bei nicht Commandl<strong>in</strong>e-Basierten<br />
Programmen übergeben werden, hängt vom Betriebssystem ab.<br />
Das nachfolgende Programm gibt e<strong>in</strong>fach alle se<strong>in</strong>e Argumente auf dem Bildschirm aus:<br />
#<strong>in</strong>clude <br />
#<strong>in</strong>clude <br />
<strong>in</strong>t ma<strong>in</strong>(<strong>in</strong>t argc, char *argv[])<br />
{<br />
<strong>in</strong>t i;<br />
}<br />
/* Alle Argumente ausgeben */<br />
for (i = 0; i < argc; i++) {<br />
pr<strong>in</strong>tf("\n", argv[i]);<br />
}<br />
/* Auf Tastendruck warten */<br />
system("Pause");<br />
return 0;<br />
Starten des Programms <strong>in</strong> der Shell:<br />
C:\TEMP>pr<strong>in</strong>targ e<strong>in</strong>s hallo -23 "e<strong>in</strong>s zwei drei"<br />
Ausgabe des Programms:<br />
<br />
<br />
<br />
<br />
<br />
Taste drücken, um fortzusetzen . . .<br />
So können Programmen bereits beim Start zum Beispiel Namen von Dateien, oder Optionen übergeben<br />
werden. Sehr viele Programme lassen sich über Comandl<strong>in</strong>eargumente steuern, wie zum Beispiel<br />
der Befehl 'dir' <strong>in</strong> der Dos Shell.<br />
Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 87/147