Partilhar via


Arquivos e fluxos

Um programa se comunica com o ambiente de destino lendo e gravando arquivos. Um ficheiro pode ser:

  • Um conjunto de dados que você pode ler e escrever repetidamente.

  • Um fluxo de bytes gerados por um programa (como um pipeline).

  • Um fluxo de bytes recebidos ou enviados para um dispositivo periférico.

Os dois últimos itens são arquivos interativos. Os arquivos são normalmente o principal meio pelo qual interagir com um programa. Você manipula todos esses tipos de arquivos da mesma maneira: chamando funções de biblioteca. Você inclui o cabeçalho padrão STDIO. H para declarar a maioria dessas funções.

Antes de executar muitas das operações em um arquivo, o arquivo deve ser aberto. Abrir um arquivo o associa a um fluxo, uma estrutura de dados dentro da Biblioteca C padrão que encobre muitas diferenças entre arquivos de vários tipos. A biblioteca mantém o estado de cada fluxo em um objeto do tipo FILE.

O ambiente de destino abre três arquivos antes da inicialização do programa. Você pode abrir um arquivo chamando a função fopende biblioteca , _wfopen com dois argumentos. (A fopen função foi preterida, use fopen_s, _wfopen_s em vez disso.) O primeiro argumento é um nome de arquivo. O segundo argumento é uma cadeia de caracteres C que especifica:

  • Se você pretende ler dados do arquivo ou gravar dados nele ou ambos.

  • Se você pretende gerar novos conteúdos para o arquivo (ou criar um arquivo se ele não existia anteriormente) ou deixar o conteúdo existente no lugar.

  • Se as gravações em um arquivo podem alterar o conteúdo existente ou só devem acrescentar bytes no final do arquivo.

  • Se você deseja manipular um fluxo de texto ou um fluxo binário.

Uma vez que o arquivo é aberto com êxito, você pode determinar se o fluxo é orientado a bytes (um fluxo de bytes) ou orientado a largura (um fluxo amplo). Inicialmente, um fluxo não é vinculado. Chamar certas funções para operar no fluxo o torna orientado a bytes, enquanto certas outras funções o tornam amplamente orientado. Uma vez estabelecido, um fluxo mantém sua orientação até ser fechado por uma chamada para fclose ou freopen.

© 1989-2001 por P.J. Plauger e Jim Brodie. Todos os direitos reservados.

Ver também

Fluxos binários e de texto
Fluxos de bytes e amplos
Controlando fluxos
Estados de fluxo