C-Bibliotheksfunktion -fflush()

C-Standardbibliothek - <stdio.h>

Beschreibung

C-Bibliotheksfunktionenint fflush(FILE *stream)Wird verwendet, um den Ausgabepuffer zu leeren.

fflush() ist eine Funktion in der C-Standardbibliothek, die die Daten im Puffer sofort in die mit dem Stream verbundene Datei oder das Gerät schreibt.

Bei Eingabestreams ist das Verhalten undefiniert, und der Aufruf dieser Funktion für Eingabestreams sollte vermieden werden.

Deklaration

Nachfolgend finden Sie die Deklaration der Funktion fflush().

int fflush(FILE *stream)

Parameter

  • stream-- Ein Zeiger auf den Typ FILE, der den Ziel-Stream angibt, dessen Puffer geleert werden muss. FILE ist eine Struktur, die einen offenen Datei-Stream darstellt.

    • ifstreamistNULL, dann leert es die Puffer aller Ausgabestreams.
    • ifstreamWenn es ein Dateizeiger ist, wird der Ausgabepuffer dieses Datei-Streams geleert.

Rückgabewert

  • Wenn der Puffer erfolgreich geleert wurde,fflush()Gibt 0 zurück.

  • Wenn ein Fehler auftritt, gibt sie zurückEOF, und setzt den Fehlerindikator (ferror)。

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion fflush().

Beispiel

#include <stdio.h> int main() { FILE *fp; char *filename = "example.txt"; char *data = "Hello, World!"; // Datei zum Schreiben öffnen fp = fopen(filename, "w"); if (fp == NULL) { printf("Datei %s kann nicht geöffnet werden\n", filename); return 1; } // Daten in Datei schreiben fprintf(fp, "%s", data); // Puffer leeren, um sicherzustellen, dass die Daten in die Datei geschrieben werden if (fflush(fp) == 0) { printf("Daten erfolgreich in die Datei geschrieben.\n"); } else { printf("Beim Leeren des Puffers ist ein Fehler aufgetreten.\n"); } // Datei schließen fclose(fp); return 0; }

Code-Erklärung:

  • Eine Datei öffnen: Verwendenfopen()Öffnen Sie eine Datei namensexample.txtDie Datei wird zum Schreiben geöffnet.

  • Daten schreiben: Verwenden Siefprintf()Die Zeichenkette"Hello, World!"Schreiben Sie in die Datei.

  • Puffer leeren: Aufruf vonfflush(fp)Stellen Sie sicher, dass Daten sofort in die Datei geschrieben werden, anstatt im Puffer zu verbleiben.

  • Prüfen Sie den Rückgabewert: wennfflush()Gibt 0 zurück, was anzeigt, dass der Puffer erfolgreich geleert wurde; andernfalls weist dies darauf hin, dass ein Fehler aufgetreten ist.

  • Eine Datei schließen: Verwenden Siefclose()Schließen Sie die Datei.

Data successfully written to the file.

Das Programm öffnet die Datei example.txt und schreibt die Zeichenkette "Hello, World!".

fflush(fp) leert den Puffer erfolgreich und gibt 0 zurück, daher gibt es "Data successfully written to the file." aus.

Der Inhalt der Datei example.txt wird sein:

Hello, World!

C-Standardbibliothek - <stdio.h>

Weitere Erweiterungen