C-Programmierung

Standard Datei Deskriptoren

Binärdaten | | Kompilation mit Unix

Die Deskriptoren

  • stdin (Standardeingabe)
  • stdout (Standardausgabe)
  • stderr (Fehlermeldungen)

sind vordefinierte Streams, welche der Eingabe oder Ausgabe auf der Konsole entsprechen.

getchar() ist eine Abkürzung für fgetc(stdin).
putchar(c) ist eine Abkürzung für fputc(stdout, c).

printf(...) ist eine Abkürzung für fprintf(stdout, ...)
scanf(...) ist eine Abkürzung für fscanf(stdin, ...).

Die Standard-Streams können umgeleitet werden, d.h. die Ausgabe eines Streams kann zur Eingabe eines anderen werden. Mit der Unix-Shell lassen sich Umleitungen einfach realisieren:

console: program <input.txt >output.txt
stdin liest aus input.txt und stdout schreibt nach output.txt.

Anwendungsbeispiele der Umleitung:

Automatisierung einer Eingabe:

console: program <input.txt

Fehlermeldungen umleiten (loggen):

console: program >2 errors.txt
Alle Fehlermeldungen via fprintf(stderr, ...) landen in errors.txt.

Alle Ausgaben unterdrücken:

console: program >& /dev/null

Ausgabe eines Programms zur Eingabe eines anderen machen (pipe):

console: program1 | program2

Pipe-Beispiele:

grep "text" file.txt | wc -l
egrep "\(.*\);" header.h | wc -l


Binärdaten | | Kompilation mit Unix

Options: