====== 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) ==== * [[formatstring|Beschreibung des Formatstrings]] für die String-Ein-/Ausgabe-Funktionen ^ 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 / 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 |