Arquivos e fluxos
Um programa se comunica com o ambiente de destino ao ler e gravar arquivos. Um arquivo pode ser:
Um conjunto de dados que você pode ler e gravar repetidamente.
Um fluxo de bytes gerado por um programa (como um pipeline).
Um fluxo de bytes recebidos de ou enviado para um dispositivo periférico.
Os dois últimos itens são arquivos interativos. Normalmente, os arquivos são o principal meio de interação 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 que você possa realizar muitas das operações em um arquivo, o arquivo deverá ser aberto. Abrir um arquivo o associa a um fluxo, uma estrutura de dados dentro da biblioteca C padrão que encobre várias diferenças entre arquivos de diversos 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 fopen
de 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 em C que especifica:
Se você pretende ler dados do arquivo ou gravar dados nele ou ambos.
Se você pretende gerar um novo conteúdo 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 se só devem acrescentar bytes ao final do arquivo.
Se você deseja manipular um fluxo de texto ou um fluxo binário.
Depois que o arquivo for aberto com êxito, você poderá determinar se o fluxo é orientado a bytes (um fluxo de bytes) ou orientado a largos (um fluxo largo). Inicialmente, um fluxo não está associado. Chamar determinadas funções para operar no fluxo o torna orientado a byte, enquanto outras funções determinadas o tornam orientado a largo. 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.
Confira também
Texto e fluxos binários
Fluxos de bytes e largos
Controlando fluxos
Estados de fluxo