A> |
Zunächst ein kleines Beispielprogramm helloworld.c
:
#include <stdio.h> /* stdio = Standard Input/Output: Funktionen */ /* fuer die Ein- und Ausgabe (Bildschirm, Datei) */ int main () { printf ("Hello world\n"); return 0; }
Kompilieren - Es wird standardmäßig eine ausführbare
Datei names a.out
erzeugt:
gcc helloworld.c
Ausführen - Führt zu der Ausgabe Hello world:
./a.out
int argc
und char* argv[]
übergeben. Ersterer enthält die Anzahl der
Kommandozeilenparameter, letzterer die Parameter der Eingabezeile. So
führt z.B. der Aufruf ./a.out test 12
zu folgender
Belegung: argc = 3
, argv[0] = "./a.out"
,
argv[1] = "test"
und argv[2] = "12"
.
Abschließend noch ein Beispielprogramm:
/* Auslesen aller Kommandozeilenparameter und Ausgabe auf dem Bildschirm */ #include <stdio.h> int main (int argc, /* Anzahl der Argumente */ char* argv[]) /* argv ist ein Feld von Zeigern auf Zeichenketten */ { int i; /* Schleifenvariable */ for (i = 0; i < argc; i++) { printf ("%s\n", argv[i]); /* "%s" bedeutet: hier wird eine Zeichenkette */ /* ausgegeben. "\n" steht fuer das Zeilenende */ return 0; }
#include <stdio.h> #include <stdlib.h> /* stdlib = Standard Library */ int main (int argc, char* argv[]) { FILE* inputFile; /* File pointer anlegen */ inputFile = fopen (argv[1], "r"); /* Datei mit dem im ersten */ /* Kommandozeilenparameter angegebenen Namen oeffnen */ /* "r" heisst, wir wollen nur lesen */ if (inputFile == NULL) { /* hat fopen geklappt ? */ printf ("Datei %s nicht gefunden\n", argv[1]); /* nein => Fehlermeldung ausgeben*/ exit (1); /* und abbrechen, Rueckgabewert >0 an das Betriebssystem */ /* (exit stammt aus stdlib.h) */ } .... /* beliebige Dateioperationen */ fclose (inputFile); /* Datei schliessen */ }