21.11.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!