Udostępnij za pośrednictwem


_flushall

Opróżnia wszystkie strumienie; czyści wszystkie bufory.

Składnia

int _flushall( void );

Wartość zwracana

_flushall Zwraca liczbę otwartych strumieni (dane wejściowe i wyjściowe). Nie ma zwracanego błędu.

Uwagi

Domyślnie _flushall funkcja zapisuje w odpowiednich plikach zawartość wszystkich buforów skojarzonych z otwartymi strumieniami wyjściowymi. Wszystkie bufory skojarzone z otwartymi strumieniami wejściowymi są czyszczone z ich bieżącej zawartości. (Te bufory są zwykle utrzymywane przez system operacyjny, co określa optymalny czas automatycznego zapisywania danych na dysku: gdy bufor jest pełny, gdy strumień jest zamknięty lub gdy program kończy się normalnie bez zamykania strumieni).

Jeśli odczyt jest zgodny z wywołaniem _flushallmetody , nowe dane są odczytywane z plików wejściowych do buforów. Wszystkie strumienie pozostają otwarte po wywołaniu metody _flushall.

Funkcja zatwierdzania na dysku biblioteki czasu wykonywania pozwala zagwarantować, że krytyczne dane są zapisywane bezpośrednio na dysku, a nie do buforów systemu operacyjnego. Bez ponownego zapisywania istniejącego programu można włączyć tę funkcję, łącząc pliki obiektów programu z commode.obj. W wynikowym pliku wykonywalnego wywołania _flushall zapisują zawartość wszystkich buforów na dysku. Tylko _flushall i fflush są objęte commode.obj.

Aby uzyskać informacje na temat kontrolowania funkcji zatwierdzania na dysku, zobacz Stream We/Wy, fopeni _fdopen.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Function Wymagany nagłówek
_flushall <stdio.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// 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 );
}
There were 3 streams flushed

Zobacz też

We/Wy strumienia
_commit
fclose, _fcloseall
fflush
setvbuf