C ++ fwrite () - C ++ Standardbibliothek

Die Funktion fwrite () in C ++ schreibt eine bestimmte Anzahl von Zeichen in den angegebenen Ausgabestream.

Prototyp fwrite ()

 size_t fwrite (const void * buffer, size_t size, size_t count, FILE * stream);

Die fwrite()Funktion schreibt die Anzahl der Objekte mit einer Größe von jeweils Bytes in den angegebenen Ausgabestream.

Es ähnelt dem Aufruf von fputc () size times, um jedes Objekt zu schreiben. Entsprechend der Anzahl der geschriebenen Zeichen wird die Dateipositionsanzeige erhöht. Der resultierende Wert des Dateipositionsindikators für den Stream ist unbestimmt, wenn beim Lesen der Datei ein Fehler auftritt.

  • Wenn die Objekte nicht trivial kopierbar sind, ist das Verhalten undefiniert.
  • Wenn die Größe oder Anzahl Null ist, gibt ein Aufruf von fwriteNull zurück und es wird keine andere Aktion ausgeführt.

Es ist in der Header-Datei definiert.

fwrite () Parameter

  • buffer: Zeiger auf den Speicherblock, dessen Inhalt geschrieben wird.
  • Größe: Größe jedes Objekts in Bytes.
  • count: Die Anzahl der zu lesenden Objekte.
  • stream: Der Dateistream, in den die Daten geschrieben werden sollen.

fwrite () Rückgabewert

Die fwrite()Funktion gibt die Anzahl der erfolgreich gelesenen Objekte zurück. Wenn ein Fehler auftritt, ist der Rückgabewert möglicherweise kleiner als count.

Beispiel 1: Funktionsweise der Funktion fwrite ()

 #include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("data.txt","w"); retVal = fwrite(buffer,sizeof(buffer),1,fp); cout << "fwrite returned " << retVal; return 0; )

Wenn Sie das Programm ausführen, wird der Inhalt des Puffers in die Datei geschrieben und die Ausgabe lautet:

 fwrite gab 1 zurück

Beispiel 2: Funktionsweise der Funktion fwrite (), wenn count oder size Null ist

 #include #include using namespace std; int main() ( int retVal; FILE *fp; char buffer() = "Writing to a file using fwrite."; fp = fopen("myfile.txt","w"); retVal = fwrite(buffer,sizeof(buffer),0,fp); cout << "When count = 0, fwrite returned " << retVal << endl; retVal = fwrite(buffer,0,1,fp); cout << "When size = 0, fwrite returned " << retVal << endl; return 0; )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Wenn count = 0 ist, hat fwrite 0 zurückgegeben. Wenn size = 0, hat fwrite 0 zurückgegeben

Interessante Beiträge...