</AULA 08>
Persistência e Manipulação de Arquivos
Até agora, nossos dados viviam apenas na RAM (volátil). Quando o programa fechava, os dados sumiam.
Nota Importante: A sintaxe de Portugol (UniCesumar) não possui recursos para manipular arquivos de sistema.
A memória RAM é sua mesa de trabalho (rápida, mas limpa ao fim do dia). O arquivo de texto é o armário de arquivos (guarda tudo permanentemente).
Em C, tratamos arquivos através de um ponteiro especial chamado FILE *.
| Comando | Função |
|---|---|
FILE *ptr; | Cria um ponteiro para identificar o arquivo. |
fopen() | Abre o arquivo e define a permissão. |
fclose() | Fecha o arquivo (fundamental para salvar os dados no disco). |
fprintf() | Escreve dados formatados no arquivo. |
fgets() | Lê uma linha completa do arquivo para uma variável. |
| Modo | Comportamento |
|---|---|
| "r" (Read) | Apenas leitura. O arquivo deve existir. |
| "w" (Write) | Cria se não existir. Sobrescreve se já existir. |
| "a" (Append) | Cria se não existir. Adiciona ao final do arquivo. |
| "r+" | Leitura e escrita (início do arquivo). |
Sempre verifique se o ponteiro é NULL após o fopen. Se for NULL, o arquivo não pôde ser aberto por falta de permissão ou caminho inexistente.
Python utiliza a função global open() e os mesmos modos de C (r, w, a).
f = open("arq.txt", "w"): Abre.f.write("texto"): Escreve.f.read(): Lê tudo.f.close(): Fecha.