Stałe typu commit-to-disk
Specyficzne dla firmy Microsoft
Składnia
#include <stdio.h>
Uwagi
Te stałe specyficzne dla firmy Microsoft określają, czy bufor skojarzony z otwartym plikiem jest opróżniany do buforów systemu operacyjnego, czy do dysku. Tryb jest uwzględniany w ciągu określającym typ dostępu do odczytu/zapisu ("r", "w", "a", "a", "r+", "w+", "a+").
Tryby zatwierdzania na dysku są następujące:
C
Zapisuje niepisaną zawartość określonego buforu na dysku. Ta funkcja zatwierdzania na dysku odbywa się tylko w przypadku jawnych wywołań funkcji
fflush
lub_flushall
. Ten tryb jest przydatny podczas pracy z danymi poufnymi. Jeśli na przykład program zakończy działanie po wywołaniufflush
metody lub_flushall
, możesz mieć pewność, że dane dotarły do buforów systemu operacyjnego. Jednak jeśli plik nie zostanie otwarty z opcją c , dane mogą nigdy nie być na dysku, jeśli system operacyjny również zakończy działanie.N
Zapisuje niepisaną zawartość określonego buforu w buforach systemu operacyjnego. System operacyjny może buforować dane, a następnie określić optymalny czas zapisu na dysku. W wielu warunkach to zachowanie sprawia, że efektywne zachowanie programu. Jeśli jednak przechowywanie danych ma kluczowe znaczenie (takie jak transakcje bankowe lub informacje o biletach lotniczych), rozważ użycie opcji c . Tryb n jest domyślny.
Uwaga
Opcje c i n nie są częścią standardu ANSI dla fopen
programu , ale są rozszerzeniami firmy Microsoft i nie powinny być używane, gdy wymagana jest przenośność ANSI.
Używanie funkcji commit-to-disk z istniejącym kodem
Domyślnie wywołania fflush
funkcji biblioteki lub _flushall
zapisują dane w buforach obsługiwanych przez system operacyjny. System operacyjny określa optymalny czas zapisu danych na dysku. Funkcja commit-to-disk biblioteki czasu wykonywania umożliwia zapewnienie, że krytyczne dane są zapisywane bezpośrednio na dysku, a nie do buforów systemu operacyjnego. Tę możliwość można nadać istniejącemu programowi bez ponownego zapisywania go, łącząc pliki obiektów z comMODE.OBJ.
W wynikowym pliku wykonywalnego wywołania fflush
zapisują zawartość buforu bezpośrednio na dysku, a wywołania zapisują _flushall
zawartość wszystkich buforów na dysku. Te dwie funkcje są jedynymi, których dotyczy COMMODE.OBJ.
END Microsoft Specific
Zobacz też
We/Wy strumienia
_fdopen
, _wfdopen
fopen
, _wfopen
Stałe globalne
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla