0 Daumen
467 Aufrufe

Frage:

Was ist der Unterschied zwischen write(2) und fwrite(3)?

Ich habe in der man-page geschaut aber leider komme ich hier nicht weiter..

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

write bekommt die zu schreibende Datei als file descriptor übergeben. Einen solchen bekommt man zum Beispiel mit open(2).

write gehört zum POSIX-Standard, ist also Bestandteil des Betriebssystems. Betriebssysteme, die nicht POSIX-konform sind, kennen diese Funktion deshalb vielleicht nicht.

Das write zum Betriebssystem gehört, erkennt man auch daran, dass die Funktion im Abschnitt 2 der man-pages dokumentiert ist, anstatt, wie sonstige Funktionen, im Abschnitt 3.

fwrite bekommt die zu schreibende Datei als Zeiger auf eine FILE-Datenstruktur übergeben. Eine solche bekommt man zum Beispiel mit fopen(3).

fwrite ist Bestandteil der C-Standardbibliothek. Die Funktion sollte deshalb überall dort verfügbar sein, wo es eine C-Entwicklungsumgebung gibt.


Avatar von 5,7 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community