Definition | #include <stdio.h> int write(int dk, const char *puf, int anz);
SAM-Dateien werden mit elementaren Funktionen stets als Textdateien verarbeitet. | |
Parameter | int dk Dateikennzahl der Ausgabedatei. Eine Dateikennzahl (positive ganze Zahl) ist das Ergebnis eines erfolgreichen Aufrufs von const char *puf Zeiger auf den Bereich, in dem die Daten stehen, die in die Ausgabedatei geschrieben werden sollen. int anz Anzahl der Bytes, die in die Datei geschrieben werden sollen. Es ist nicht sichergestellt, dass | |
Returnwert | Anzahl der tatsächlich geschriebenen Bytes, bei Erfolg. | |
| -1 |
|
Hinweise | Sie sollten nach jedem Um sicherzugehen, dass Ihre Angabe in anz die Größe des Puffers nicht überschreitet, sollten Sie die Funktion Die Daten werden nicht sofort in die externe Datei geschrieben, sondern in einem C-internen Puffer zwischengespeichert (siehe Abschnitt "Pufferung“ (Grundbegriffe)). Bei der Ausgabe in Textdateien werden die Steuerzeichen für Zwischenraum (\n, \t, etc.) je nach Art der Textdatei in ihre entsprechende Wirkung umgesetzt (siehe Abschnitt "Zwischenraum“ (Grundbegriffe)). Bei Textdateien mit der Zugriffsart SAM und variabler Satzlänge, für die zusätzlich eine maximale Satzlänge angegeben ist, gilt: Wenn bei Bei Dateien mit satzorientierter Ein-/Ausgabe (Satz-E/A), d.h. wenn bei | |
Beispiel | Folgendes Programm kopiert die Standardeingabe (Dateikennzahl 0) auf die Standardausgabe (Dateikennzahl 1). Wenn Sie den Umlenkmechanismus ausnützen, können Sie damit von einer beliebigen Quelle auf ein beliebiges Ziel kopieren. BUFSIZ (8192 Bytes) ist in der Include-Datei <stdio.h> definiert. #include <stdio.h> int main(void) { char buf[BUFSIZ]; int n; while((n = read(0, buf, sizeof(buf))) > 0) write(1, buf, n); return 0; } | |
Siehe auch | read, open, open64, creat, creat64 |