Costanti di commit su discoCommit-To-Disk Constants

Sezione specifica MicrosoftMicrosoft Specific

SintassiSyntax


#include <stdio.h>  

NoteRemarks

Queste costanti specifiche di Microsoft indicano se il buffer associato al file aperto viene scaricato nei buffer del sistema operativo o sul disco.These Microsoft-specific constants specify whether the buffer associated with the open file is flushed to operating system buffers or to disk. La modalità è inclusa nella stringa che specifica il tipo di accesso di lettura/scrittura ("r", "w", "a", "r+", "w+", "a+").The mode is included in the string specifying the type of read/write access ("r", "w", "a", "r+", "w+", "a+").

Le modalità di commit su disco sono le seguenti:The commit-to-disk modes are as follows:

cc
Scrive su disco il contenuto non scritto del buffer specificato.Writes the unwritten contents of the specified buffer to disk. Questa funzionalità di commit su disco si verifica solo per chiamate esplicite della funzione fflush o della funzione _flushall.This commit-to-disk functionality only occurs at explicit calls to either the fflush or the _flushall function. Questa modalità è utile quando si lavora con dati sensibili.This mode is useful when dealing with sensitive data. Se ad esempio il programma termina dopo una chiamata a fflush o _flushall è possibile essere certi che i dati abbiano raggiunto i buffer del sistema operativo.For example, if your program terminates after a call to fflush or _flushall, you can be sure that your data reached the operating system's buffers. Tuttavia, a meno che un file non venga aperto con l'opzione c, i dati potrebbero non raggiungere mai il disco se anche l'esecuzione del sistema operativo viene terminata.However, unless a file is opened with the c option, the data might never make it to disk if the operating system also terminates.

n
Scrive il contenuto non scritto del buffer specificato nei buffer del sistema operativo.Writes the unwritten contents of the specified buffer to the operating system's buffers. Il sistema operativo può memorizzare i dati nella cache e quindi determinare il momento ottimale per la scrittura su disco.The operating system can cache data and then determine an optimal time to write to disk. In molti casi questo comportamento determina un funzionamento efficiente dei programmi.Under many conditions, this behavior makes for efficient program behavior. Se tuttavia la conservazione dei dati (quali transazioni bancarie o dati di biglietti aerei) è della massima importanza, considerare l'uso dell'opzione c.However, if the retention of data is critical (such as bank transactions or airline ticket information) consider using the c option. La modalità n è quella predefinita.The n mode is the default.

Nota

Le opzionic e n non fanno parte dello standard ANSI per fopen ma sono estensioni Microsoft e non devono essere usate quando è richiesta la portabilità ANSI.The c and n options are not part of the ANSI standard for fopen, but are Microsoft extensions and should not be used where ANSI portability is desired.

Uso della funzionalità di commit su disco con il codice esistenteUsing the Commit-to-Disk Feature with Existing Code

Per impostazione predefinita le chiamate delle funzioni della libreria fflush o _flushall scrivono dati nei buffer gestiti dal sistema operativo.By default, calls to the fflush or _flushall library functions write data to buffers maintained by the operating system. Il sistema operativo determina il momento ottimale per la scrittura dei dati su disco.The operating system determines the optimal time to actually write the data to disk. La funzionalità di commit su disco della libreria di runtime consente di garantire che i dati critici siano scritti direttamente su disco anziché nei buffer del sistema operativo.The commit-to-disk feature of the run-time library lets you ensure that critical data is written directly to disk rather than to the operating system's buffers. È possibile assegnare questa funzionalità a un programma esistente senza riscriverlo, collegando i file oggetto del programma a COMMODE.OBJ.You can give this capability to an existing program without rewriting it by linking its object files with COMMODE.OBJ.

Nel file eseguibile risultante le chiamate a fflush scrivono il contenuto del buffer direttamente su disco e le chiamate a _flushall scrivono il contenuto di tutti i buffer su disco.In the resulting executable file, calls to fflush write the contents of the buffer directly to disk, and calls to _flushall write the contents of all buffers to disk. Queste due funzioni sono le uniche sulle quali agisce COMMODE.OBJ.These two functions are the only ones affected by COMMODE.OBJ.

Fine sezione specifica MicrosoftEND Microsoft Specific

Vedere ancheSee Also

I/O di flusso Stream I/O
_fdopen, _wfdopen _fdopen, _wfdopen
fopen, _wfopen fopen, _wfopen
Costanti globaliGlobal Constants