_flushall
Leert alle Streams und löscht alle Puffer.
int _flushall( void );
Rückgabewert
_flushall gibt die Anzahl der geöffneten Streams zurück (Eingaben und Ausgaben). Es gibt keine Fehlerrückgabe.
Hinweise
Standardmäßig schreibt die _flushall-Funktion den Inhalt aller Puffer, die mit geöffneten Ausgabestreams verknüpft sind, in die entsprechenden Dateien. Aus allen Puffern, die geöffneten Eingabestreams zugeordnet sind, wird der aktuelle Inhalt gelöscht. (Diese Puffer werden normalerweise vom Betriebssystem verwaltet, das die optimale Zeit zum automatischen Schreiben der Daten auf den Datenträger bestimmt: wenn ein Puffer ist voll, wenn ein Stream geschlossen wird oder wenn ein Programm normal beendet wird, ohne die Streams zu schließen.)
Wenn ein Lesevorgang nach einem Aufruf von _flushall erfolgt, werden neue Daten aus den Eingabedateien in die Puffer gelesen. Alle Streams bleiben nach dem Aufruf von _flushall geöffnet.
Mit der Datenträgercommitfunktion der Laufzeitbibliothek können Sie sicherstellen, dass wichtige Daten direkt auf den Datenträger anstatt in die Betriebssystempuffer geschrieben werden. Sie können diese Funktion aktivieren, ohne ein vorhandenes Programm umzuschreiben. Verknüpfen Sie hierzu die Objektdateien des Programms mit "Commode.obj". In der resultierenden ausführbaren Datei schreiben Aufrufe von _flushall den Inhalt aller Puffer auf den Datenträger. Nur _flushall und fflush werden von "Commode.obj" beeinflusst.
Weitere Informationen zum Steuern der Datenträgercommitfunktion finden Sie unter Stream-E/A, fopen und _fdopen.
Anforderungen
Funktion |
Erforderlicher Header |
---|---|
_flushall |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt_flushall.c
// This program uses _flushall
// to flush all open buffers.
#include <stdio.h>
int main( void )
{
int numflushed;
numflushed = _flushall();
printf( "There were %d streams flushed\n", numflushed );
}