Após abrir um arquivo para escrita, podemos armazenar informações nele utilizando funções específicas da biblioteca stdio.h.
O processo é bastante semelhante ao que já fazemos com a saída padrão utilizando a função printf(). A principal diferença é que, em vez de enviar os dados para a tela do computador, iremos enviá-los para um arquivo.
Nesta seção conheceremos as principais funções utilizadas para escrever dados em arquivos texto.
fprintfA função mais utilizada para escrita em arquivos é a fprintf.
Sua sintaxe é:
int fprintf(FILE *arquivo, const char *formato, ...);
Ela funciona de maneira muito semelhante à função printf(), porém recebe como primeiro parâmetro o arquivo no qual os dados serão gravados.
Exemplo:
#include <stdio.h>
int main() {
FILE *arquivo = fopen("mensagem.txt", "w");
if (arquivo != NULL) {
fprintf(arquivo, "Olá, mundo!\n");
fclose(arquivo);
}
return 0;
}
Após a execução do programa, o arquivo mensagem.txt conterá:
Olá, mundo!
Assim como em printf(), podemos utilizar especificadores de formato para gravar valores armazenados em variáveis.
#include <stdio.h>
int main() {
char nome[50] = "Maria";
float nota = 9.5;
FILE *arquivo = fopen("aluno.txt", "w");
if (arquivo != NULL) {
fprintf(arquivo, "Nome: %s\n", nome);
fprintf(arquivo, "Nota: %.1f\n", nota);
fclose(arquivo);
}
return 0;
}
Conteúdo gerado:
Nome: Maria
Nota: 9.5
Essa é uma das formas mais comuns de armazenar informações em arquivos texto.