Partilhar via


Texto e fluxos binários

Um fluxo de texto consiste em uma ou mais linhas de texto que podem ser gravados em uma exibição orientados a texto para que possam ser lidos.Ao ler a partir de um fluxo de texto, o programa lê um NL (nova linha) no final de cada linha.Ao gravar um fluxo de texto, o programa grava um NL para sinalizar o final de uma linha.Para corresponder diferentes convenções entre ambientes de destino para a representação de texto em arquivos, as funções da biblioteca podem alterar o número e representações de caracteres transmitidos entre o programa e um fluxo de texto.

Assim, o posicionamento em um fluxo de texto é limitado.Você pode obter o indicador de posição do arquivo atual chamando fgetpos ou ftell.Você pode posicionar um fluxo de texto em uma posição obtida dessa forma, ou no início ou fim do fluxo, chamando fsetpos ou fseek.Qualquer outra alteração da posição bem talvez não suporte.

Para portabilidade máxima, o programa não deve escrever:

  • Arquivos vazios.

  • Caracteres de espaço no final de uma linha.

  • Linhas parciais (omitindo o NL no final de um arquivo).

  • caracteres diferentes de caracteres imprimíveis, NL, e HT (guia horizontal).

Se você seguir essas regras, a seqüência de caracteres que você ler a partir de um fluxo de texto (tanto como bytes ou caracteres multibyte) corresponderá a seqüência de caracteres que você escreveu para o fluxo de texto quando você criou o arquivo.Caso contrário, as funções da biblioteca podem remover um arquivo que você criar se o arquivo está vazio quando você fechá-lo.Ou podem alterar ou excluir caracteres que você grava no arquivo.

Um fluxo binário consiste em um ou mais bytes de informações arbitrárias.Você pode gravar o valor armazenado em um objeto arbitrário para um fluxo binário (orientados a bytes) e leia exatamente o que foi armazenado no objeto quando você o escreveu.As funções da biblioteca não alteram os bytes transmitidos entre o programa e um fluxo binário.No entanto, eles podem, acrescentar um número arbitrário de bytes nulos para o arquivo que você escreve com um fluxo binário.O programa precisa lidar com esses bytes nulos adicionais no final de qualquer fluxo binário.

Assim, é bem definida, exceto para o seu posicionamento em relação ao final do fluxo de posicionamento em um fluxo binário.Você pode obter e alterar o indicador de posição do arquivo atual para o mesmo para um fluxo de texto.Além disso, os deslocamentos são usados por ftell e fseek contagem de bytes do início do fluxo (que é o byte zero), para que o número inteiro aritmético com esses deslocamentos produz resultados previsíveis.

Um fluxo de bytes trata um arquivo como uma seqüência de bytes.Dentro do programa, o fluxo é semelhante a mesma seqüência de bytes, exceto para as alterações possíveis descritas acima.

Consulte também

Referência

Arquivos e fluxos