Standard In- And Output

Die stdio ist eine der wichtigsten Libraries für den C-Programmierer. Mit ihrer Hilfe lassen sich einfache Ausgaben auf dem Bildschirm realisieren, wie auch Dateien lesen und schreiben. Aber auch Tastatureingaben sind möglich. Es wird mit sogenannten Streams gearbeitet, Kanälen, die man öffnen und schließen muss und aus denen man Daten empfangen, bzw. senden kann. Grundsätzlich sind drei Streams bekannt und können in C-Programmen auch so benannt werden: stdin (die Standardeingabe), stdout (die Standardausgabe) und stderr (die Fehlerkonsole). Diese drei Kanäle werden vom Betriebssystem bereitgestellt und vor Programmstart geöffnet und nach dem Ende des Programms auch vom Betriebssystem geschlossen.

Dateizugriffe

Streams erzeugen

Funktion Bedeutung
fopen() Datei öffnen
freopen() Datei für anderen Zugriff öffnen (z.B. Schreiben statt Lesen)
fflush() Zwischenpuffer in Stream entleeren/schreiben
fclose() Datei schließen
remove() Datei löschen
rename() Datei umbennenen
tmpfile()  temporäre Datei öffnen
tmpnam() temporäre Datei erzeugen
setbuf() Zwischenspeichergröße für Stream festlegen
setvbuf() Zwischenspeicher für Stream ein und abschalten

Positionszugriffe

Funktion Bedeutung
rewind() Geht an den Anfang der Datei (Band zurückspulen)
fseek() Setzt die aktuelle Position im Stream
fsetpos() Setzt die aktuelle Position im Stream
fgetpos() Liefert die aktuelle Lese-Position im Stream
ftell() Liefert die aktuelle Lese-Position im Stream

Ein- und Ausgabe allgemein

C-Strings (char-Arrays)

Funktion Bedeutung
fprintf() Formatierte Ausgabe in einen Stream
fscanf() Formatiertes Lesen aus einem Stream
printf() Formatierte Ausgabe auf den stdout-Stream
scanf() Formatiertes Lesen aus dem stdin-Stream
sprintf() Formatierte Ausgabe auf einen C-String (char-Array)
sscanf() Formatiertes Lesen aus einem C-String (char-Array)
vfprintf() Formatierte Ausgabe in einen Stream mit Parameterliste
vfscanf() Formatiertes Lesen aus einem Stream mit Parameterliste
vprintf() Formatierte Ausgabe auf den stdout-Stream mit Parameterliste
vscanf() Formatiertes Lesen aus dem stdin-Stream mit Parameterliste
vsprintf() Formatierte Ausgabe auf einen C-String (char-Array)
vsscanf() Formatiertes Lesen aus einem C-String (char-Array) mit Parameterliste
fgets() Liest einen C-String aus einem Stream
fputs() Schreibt einen C-String in einen Stream
gets / gets_s  Liest einen String aus der Standardeingabe (stdin)
puts() Schreibt einen String in die Standardausgabe (stdout)

einzelne Buchstaben (chars)

Funktion Bedeutung
fgetc() Einzelnen Buchstaben aus einem Stream lesen
fputc() Einzelnen Buchstaben in einen Stream schreiben
getc() Einzelnen Buchstaben aus einem Stream lesen (Macro!)
getchar() Einzelnen Buchstaben aus dem stdin-Stream lesen
putc() Einzelnen Buchstaben in Stream schreiben (Macro!)
putchar() Einzelnen Buchstaben nach stdout schreiben
ungetc() Spielt einen Buchstaben in den Inputstream zurück

Blockfunktionen

Funktion Bedeutung
fread() Liest aus einem Stream in einen Speicherblock
fwrite() Schreibt einen Speicherblock in einen Stream

Fehlerbehandlung

Funktion Bedeutung
clearerr() Entfernt End-Of-File und Fehlermarker des Streams
feof() Prüft auf End-Of-File-Marker
ferror() Fehlerstatus eines Streams überprüfen
perror() Fehlermeldung des letzten Standardbibliotheksaufrufes anzeigen