Aula 26: Leitura de arquivos e projeto final
Na aula passada escrevemos em arquivos — agora aprendemos a lê-los de volta. fopen("data.txt", "r") abre para leitura, fgets(line, sizeof line, f) lê linha por linha em um laço while e retorna NULL no fim do arquivo, e fscanf converte linhas em valores: while (fscanf(f, "%19s %d", name, &grade) == 2
Escrever em um arquivo é como ditar uma carta; ler é abrir o envelope e ir linha por linha até as páginas acabarem (NULL). E o projeto final? Como o jantar de encerramento de um curso de culinária — cada técnica que você aprendeu aparece em um único prato.
- modo de leitura "r"
- fopen("data.txt", "r") abre um arquivo existente para leitura. Se o arquivo não existir — retorna NULL.
- fgets
- Lê uma linha para dentro de um vetor de char: fgets(line, sizeof line, f). No fim do arquivo ela retorna NULL.
- fscanf
- Como scanf, mas a partir de um arquivo: converte texto em valores e retorna quantos valores foram lidos com sucesso.
- fim de arquivo (EOF)
- O ponto depois do último caractere. Ali fgets retorna NULL, e fscanf para de retornar a contagem completa.
- projeto final
- Um único programa combinando o curso inteiro: uma struct, um vetor dinâmico, salvamento em arquivo, carregamento, free e fclose.