Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vyprázdní všechny proudy; vymaže všechny vyrovnávací paměti.
Syntaxe
int _flushall( void );
Vrácená hodnota
_flushall vrátí počet otevřených datových proudů (vstup a výstup). Nevrátí se žádná chyba.
Poznámky
Ve výchozím nastavení _flushall funkce zapisuje do příslušných souborů obsah všech vyrovnávacích pamětí přidružených k otevřeným výstupním datovým proudům. Všechny vyrovnávací paměti přidružené k otevřeným vstupním datovým proudům jsou vymazány z jejich aktuálního obsahu. (Tyto vyrovnávací paměti jsou obvykle udržovány operačním systémem, který určuje optimální čas zápisu dat automaticky na disk: pokud je vyrovnávací paměť plná, když je datový proud zavřený nebo když program normálně ukončí bez zavření datových proudů.)
Pokud čtení následuje volání _flushall, nová data se čtou ze vstupních souborů do vyrovnávací paměti. Všechny streamy zůstanou otevřené po volání _flushall.
Funkce zápisu na disk knihovny za běhu umožňuje zajistit, aby se důležitá data zapisují přímo na disk, a ne do vyrovnávací paměti operačního systému. Bez přepsání existujícího programu můžete tuto funkci povolit propojením souborů objektů programu s Commode.obj. Ve výsledném spustitelném souboru volání zapisují _flushall obsah všech vyrovnávacích pamětí na disk. Pouze _flushall a fflush jsou ovlivněny Commode.obj.
Informace o řízení funkce commit-to-disk naleznete v tématu Stream vstupně-výstupní operace a fopen_fdopen.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
| Function | Požadovaný hlavičkový soubor |
|---|---|
_flushall |
<stdio.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Vstupně-výstupní operace streamu
_commit
fclose, _fcloseall
fflush
setvbuf