Aula 26: Leitura de ficheiros e projeto final
Na aula passada escrevemos em ficheiros — agora aprendemos a lê-los de volta. fopen("data.txt", "r") abre para leitura, fgets(line, sizeof line, f) lê linha por linha num laço while e retorna NULL no fim do ficheiro, e fscanf converte linhas em valores: while (fscanf(f, "%19s %d", name, &grade) == 2
Escrever num ficheiro é 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 num único prato.
- modo de leitura "r"
- fopen("data.txt", "r") abre um ficheiro existente para leitura. Se o ficheiro não existir — retorna NULL.
- fgets
- Lê uma linha para dentro de um vetor de char: fgets(line, sizeof line, f). No fim do ficheiro ela retorna NULL.
- fscanf
- Como scanf, mas a partir de um ficheiro: converte texto em valores e retorna quantos valores foram lidos com sucesso.
- fim de ficheiro (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 ficheiro, carregamento, free e fclose.