Partilhar via


Constantes confirmar em disco

Específico da Microsoft

#include <stdio.h>

Comentários

Essas constantes microsoft específicas especificam se o buffer associado ao abrir arquivo será liberado aos buffers do sistema operacional ou no disco. O modo é incluído na cadeia de caracteres que especifica o tipo de acesso de leitura/gravação ("r", "w", "a", "r+", "w+", "a+").

Os modos de confirmação-à- disco são os seguintes:

  • c
    Grava o conteúdo não-escritos de buffer especificado no disco. Essa funcionalidade de confirmação-à- disco ocorre apenas em chamadas explícitos a fflush ou à função de _flushall . Este modo é útil ao tratar os dados confidenciais. Por exemplo, se seu programa será encerrado depois que uma chamada a fflush ou a _flushall, poderá ter certeza de que os dados alcançaram os buffers do sistema operacional. No entanto, a menos que um arquivo é aberto com a opção de c , os dados podem nunca torná-la em disco se o sistema operacional também será encerrado.

  • n
    Grava o conteúdo não-escritos de buffer especificado aos buffers do sistema operacional. O sistema operacional pode armazenar em cachê dados e determinar uma hora ótimas gravar no disco. Em muitas circunstâncias, esse comportamento faz para o comportamento do programa eficiente. No entanto, se a retenção de dados é crítica (como transações de banco ou informações de bilhete de avião) use a opção de c . O modo de n é o padrão.

    Dica

    As opções de c e de n não fazem parte do padrão ANSI para fopen, mas são extensões da Microsoft e não devem ser usadas onde a portabilidade de ANSI é desejada.

Usando o recurso de Confirmação-à- disco com código existente

Por padrão, as chamadas para fflush ou funções da biblioteca de _flushall gravam dados aos buffers mantidos pelo sistema operacional. O sistema operacional determina o tempo ótimos de realmente gravar os dados em disco. O recurso de disco confirmação-à- da biblioteca de tempo de execução permite garantir que os dados críticos seja gravado diretamente no disco em vez de buffers do sistema operacional. Você pode fornecer esse recurso para um programa reescrevê-lo existente sem vincular os arquivos de objeto com COMMODE.OBJ.

No arquivo executável resultante, as chamadas para fflush grava o conteúdo do buffer diretamente no disco, e as chamadas para _flushall grava o conteúdo de todos os buffers em disco. Essas duas funções únicas são afetadas por COMMODE.OBJ.

FINALIZAR Específico da Microsoft

Consulte também

Referência

E/S de fluxo

_fdopen, _wfdopen

fopen, _wfopen

Constantes globais