_flushall
Opróżnia wszystkie strumienie; Czyści wszystkie bufory.
int _flushall( void );
Wartość zwracana
_flushallZwraca liczbę strumieni otwartych (dane wejściowe i wyjściowe).Nie będzie zwrotu błędu.
Uwagi
Domyślnie _flushall funkcja zapisuje odpowiednie pliki zawartości wszystkie bufory związane z strumienie wyjściowe otwarte.Wszystkie bufory związane z otwartych strumienie danych wejściowych są usuwane z ich bieżącej zawartości. (Bufory są zazwyczaj obsługiwane przez system operacyjny, który określa optymalny czas do automatycznego zapisywania danych na dysku: gdy bufor, jest pełny, gdy strumień jest zamknięty lub kiedy program zakończy się normalnie bez zamykania strumieni.)
Jeżeli odczytu następuje po wywołaniu _flushall, nowe dane są wczytywane z plików wejściowych do buforów.Wszystkie strumienie pozostają otwarte po wywołaniu _flushall.
Funkcja Zatwierdzanie na dysku z biblioteki wykonawczej pozwala upewnić się, że krytyczne dane są zapisywane bezpośrednio na dysku, a nie do buforów systemu operacyjnego.Bez poprawiania istniejącego programu, łącząc pliki obiektu programu z Commode.obj można włączyć tę funkcję.W wynikowym pliku wykonywalnego, wzywa do _flushall zapisać zawartość buforów wszystkie dysku.Tylko _flushall i fflush jest narażony na Commode.obj.
Informacje dotyczące sterowania funkcją Zatwierdzanie na dysku, zobacz Strumień we/wy, fopen, i _fdopen.
Wymagania
Funkcja |
Wymagany nagłówek |
---|---|
_flushall |
<stdio.h> |
Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność we Wstępie.
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 );
}