? No C e C + + linguagens de programação , reunindo entrada e gravação em arquivos de texto é uma necessidade. Esta é uma das poucas formas de armazenar dados por longos períodos de tempo para que o programa pode usar os dados sobre várias execuções . Existem várias funções para ler arquivos de texto de diferentes maneiras. Para indicar que uma função chegou ao fim do arquivo, um fim de arquivo (EOF) símbolo existe. O programador pode verificar a entrada para garantir que ele não é o fim do arquivo e execução final de uma função se o arquivo foi lido na íntegra . Lendo um arquivo
Entender como funciona o símbolo EOF significa entender como funciona o arquivo de entrada . Normalmente, o programador carrega o arquivo para o programa através de um ponteiro de arquivo. Usando as bibliotecas " stdio.h " , o programador pode usar um ponteiro de arquivo para fazer referência a um arquivo na memória e, em seguida, ler ou escrever para o arquivo . O exemplo a seguir mostra como declarar e usar um ponteiro de arquivo :
# include " stdio.h "
int main () {
FILE * fp //arquivo pointer
fp = fopen ( "c: \\ \\ arquivo.txt" , "r" ) //abre " file.txt " como somente leitura , e usa fp para referenciá-lo
leitura de um arquivo
o programador então lê a partir do arquivo . Ela pode fazer isso usando a função " fgetc ()" , que será lido a partir do arquivo um caractere de cada vez. A função " fgetc ()" retorna um valor inteiro , que pode ser alterado para um personagem pelo programador para imprimir na tela ou por qualquer manipulação é necessário :
int ch = fgetc ( fp ); < br >
printf ("% c" , (char ) ch) ;
ponteiros de arquivo interno
Quando o " fgetc ()" função lê um personagem, ele se move um ponteiro de arquivo interno para a frente um espaço. Isto significa que, como um arquivo é lido pela função , o arquivo permanece sempre pronto para outra leitura. Como o ponteiro do arquivo interno funciona não é importante para o programador ou a função. O que é importante é que, como o ponteiro do arquivo avança durante as leituras bem-sucedidas , ele acabará por bater no final do arquivo , não vai , por exemplo, continuar a leitura do arquivo além do tamanho do arquivo
. a fim de arquivo
Quando o ponteiro do arquivo passa o caráter final, o " fgetc ()" função irá retornar um valor inteiro negativo amarrado a uma macro chamada " EOF ". Uma macro é uma redefinição de um valor em uma forma mais legível. O programador pode verificar esse valor usando a macro " EOF " . Se a função retorna o valor , o programador pode interromper a leitura do arquivo e evitar erros, como neste exemplo :
int c ;
while (( c = fgetc ( fp) ) ! = EOF ) //quando c contém o valor EOF , o loop irá parar de ler
{
putchar ( c); }