Sdílet prostřednictvím


Konstanty potvrzení na disk

Specifické pro Microsoft

Syntaxe

#include <stdio.h>

Poznámky

Tyto konstanty specifické pro Microsoft určují, zda je vyrovnávací paměť přidružená k otevřenému souboru vyprázdněna do vyrovnávací paměti operačního systému nebo na disk. Režim je součástí řetězce určující typ přístupu pro čtení a zápis ("r", "w", "a", "r+", "w+", "a+").

Režimy zápisu na disk jsou následující:

  • c

    Zapíše nepřepsaný obsah zadané vyrovnávací paměti na disk. Tato funkce zápisu na disk se provádí pouze při explicitních voláních fflush funkce nebo _flushall funkce. Tento režim je užitečný při práci s citlivými daty. Pokud se například program ukončí po volání fflush nebo _flushall, můžete mít jistotu, že vaše data dosáhla vyrovnávací paměti operačního systému. Pokud se ale soubor neotevře s možností c , nemusí se data nikdy dostat na disk, pokud se operační systém také ukončí.

  • n

    Zapíše nepřepsaný obsah zadané vyrovnávací paměti do vyrovnávací paměti operačního systému. Operační systém může ukládat data do mezipaměti a pak určit optimální čas zápisu na disk. Za mnoha podmínek toto chování zajišťuje efektivní chování programu. Pokud je však uchovávání dat důležité (například bankovní transakce nebo informace o letenkách letecké společnosti), zvažte použití možnosti c . N režim je výchozí.

Poznámka:

Možnosti c a n nejsou součástí standardu ANSI pro fopen, ale jedná se o rozšíření Microsoftu a nemělo by se používat tam, kde je požadovaná přenositelnost ANSI.

Použití funkce commit-to-disk s existujícím kódem

Ve výchozím nastavení volání funkcí knihovny nebo _flushall funkcí zapisují fflush data do vyrovnávací paměti udržované operačním systémem. Operační systém určuje optimální dobu, kdy se data skutečně zapisuje na disk. 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. Tuto funkci můžete udělit existujícímu programu, aniž byste ji museli přepisovat propojením souborů objektů s COMMODE.OBJ.

Ve výsledném spustitelném souboru volání zapisují fflush obsah vyrovnávací paměti přímo na disk a volání pro _flushall zápis obsahu všech vyrovnávacích pamětí na disk. Tyto dvě funkce jsou jedinými funkcemi ovlivněnými COMMODE.OBJ.

END Microsoft Specific

Viz také

Vstupně-výstupní operace streamu
_fdopen, _wfdopen
fopen, _wfopen
Globální konstanty