Manipulação de arquivo texto em C
Cinthia Mikaela de Souza
Na manipulação de um arquivo, há basicamente três etapas que precisam
ser realizadas:
Abrir o arquivo;
Ler e/ou gravar dados;
Fechar o arquivo;
ABRIndo ARQUIVO
Esta função recebe como primeiro parâmetro, o nome do arquivo, que deve ser uma string ou o caminho completo para o arquivo por exemplo: C://Documentos/arquivo.txt ou o
caminho em relação ao diretório atual por exemplo: arquivo.txt, e o segundo parâmetro deve ser o modo de acesso.
Modo de acesso
Modo | Significado |
w | Abre o arquivo somente para escrita no início do arquivo. Apagará o conteúdo do arquivo se ele já existir, criará um arquivo novo se não existir. |
w+ | Abre o arquivo para escrita e leitura, apagando o conteúdo pré-existente. |
r | Abre o arquivo somente para leitura. O arquivo deve existir. |
r+ | Abre o arquivo para leitura e escrita. O arquivo deve existir. |
a | Abre o arquivo para escrita no final do arquivo. Não apaga o conteúdo pré-existente. |
a+ | Abre o arquivo para escrita no final do arquivo e leitura. |
O valor de retorno da função fopen() é muito importante!
Se houver um erro na abertura/criação do arquivo, a função retornará o
valor NULL.
escrita e leitura em arquivo
fechando arquivo
Ao terminar de usar um arquivo, você deve fechá-lo. Isso é feito pela função
fclose(), essa função recebe como parâmentro o nome do ponteiro para o arquivo.
Os programas abaixo irão mostrar exemplos da utilização das funções
apresentadas anteriormente. Teste estes programas para obter uma
melhor compreensão do conteúdo abordado.
fprintf()
O código abaixo grava duas string formatadas em um arquivo de texto
utilizando a função fprintf().
Fscanf()
O código abaixo lê uma string de um arquivo de texto e imprime seu conteúdo
enquanto não encontrar a marcação de final de arquivo.
FPUTS()
O código abaixo lê uma string do teclado e grava em um arquivo de texto.
fgets()
O código abaixo lê uma string de um arquivo de texto. Repare que, a função puts imprime na tela (stdout) uma string especificada, incluindo uma nova linha ('\n') ao final da impressão.
Comentários