Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Gravando e lendo caracteres em Arquivos C


  • Após a abertura do arquivo é possível Ler e/ou gravar dados nele.
  • A função fputc() possibilita a gravação de dados caracter a caracter.

int fputc(int ch, FILE *arq);

  • A função fgetc() possibilita a leitura de dados do arquivo caracter a caracter.

int fgetc(FILE *arq);

  • Quando não houver mais dados a serem lidos no arquivo, a fgetc devolve a constante EOF (end of file), que está definida na biblioteca stdio.h, indica o fim de um arquivo. Isso indica chegamos ao fim do arquivo e não se pode realizar a leitura dos dados. Em geral, o valor de EOF é igual −1.
  • Após a abertura do arquivo é necessário realizar o teste de fim de arquivo (o arquivo pode estar vazio):
if((fp = fopen("arquivo.txt","r")) == NULL){

printf( "Erro na abertura do arquivo");
exit(1);
}
  • O Exemplo a seguir exibe a gravação e leitura de dados caracter a caracter.
    • No comando fopen será criado o arquivo arqtexto.txt na pasta corrente
    • A string tentrada será gravada no arquivo caracter a caracter.
    • O arquivo será fecado e posteriormente aberto para leitura.
    • Utilizamos a função fgetc() para ler esses dados do arquivo caracter a caracter:
  • A constante EOF pode ser substituida pela função feof() que realiza o teste de fim de arquivo.
    int feof(FILE *arq)
  • O teste do while do exemplo acima poderia ficar assim: while ( !feof (farq) )
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content