Compartir a través de


Constantes de Confirmación-A- Disco

Específicos de Microsoft

#include <stdio.h>

Comentarios

Estas constantes específicas especifican si el búfer asociado al archivo abierto se vaciado a los búferes del sistema operativo o el disco.Incluyen el modo en la cadena que especifica el tipo de acceso de lectura y escritura (“r”, “w”, “a”, “R+”, “w+”, “a+”).

Los modos de confirmación-a-disco son los siguientes:

  • c
    Escribe el contenido nos tipo de búfer especificado en el disco.Esta funcionalidad de confirmación-a-disco sólo aparece en las llamadas explícitas a fflush o a la función de _flushall .Este modo es útil al trabajar con datos confidenciales.Por ejemplo, si el programa termina después de una llamada a fflush o a _flushall, puede asegurarse de que los datos alcanzaron los búferes del sistema operativo.Sin embargo, a menos que el archivo se abre con la opción de c , los datos podrían nunca crearla en el disco si el sistema operativo también finaliza.

  • n
    Escribe el contenido nos tipo de búfer especificado a los búferes del sistema operativo.El sistema operativo puede almacenar en caché datos y después determinar un poco óptimo de escribir en el disco.En muchas condiciones, este comportamiento crea para el comportamiento del programa eficaz.Sin embargo, si la retención de datos es crítica (por ejemplo transacciones bank o información del billete de plano) puede utilizar la opción de c .El modo de n es el valor predeterminado.

    [!NOTA]

    Las opciones de c y de n no forman parte del estándar ANSI para fopen, pero son extensiones de Microsoft y no se deben utilizar donde desee la portabilidad de ANSI.

Utilizando la característica de Confirmación-a-Disco con el código existente

De forma predeterminada, las llamadas a fflush o las funciones de la biblioteca de _flushall escriben datos a los búferes mantenidos por el sistema operativo.El sistema operativo determina la hora óptima de escribir realmente los datos en disco.La característica de confirmación-a-disco de la biblioteca en tiempo de ejecución permite asegurarse que los datos crítico se escribe directamente en el disco y no a los búferes del sistema operativo.Puede proporcionar esta funcionalidad a un programa existente sin reescribirlo vinculando los archivos objetos con COMMODE.OBJ.

En el archivo ejecutable resultante, las llamadas a fflush escriben el contenido del búfer directamente al disco, y las llamadas a _flushall escriben el contenido de todos los búferes en el disco.estas dos funciones son las únicas afectadas por COMMODE.OBJ.

Específico de Microsoft de FINAL

Vea también

Referencia

E/S de la secuencia

_fdopen, _wfdopen

fopen, _wfopen

Constantes globales