O código a seguir é apenas um exemplo simples de gravação de dados em arquivo texto sob forma de estrutura.
#include <stdio.h>
typedef struct Taluno
{
char nome[20];
int idade;
} Taluno;
Taluno aluno, raluno;
int main(void)
{
/* aqui pode usar o strcpy, mas preferir por caracter x caracter para melhor visualizacao do que esta ocorrendo */
aluno.nome[0] = 'F';
aluno.nome[1] = 'u';
aluno.nome[2] = 'l';
aluno.nome[3] = 'a';
aluno.nome[4] = 'n';
aluno.nome[5] = 'o';
aluno.nome[6] = '\ 0';
aluno.idade = 10;
FILE *file;
/* abrindo o arquivo para escrita */
if (!(file=fopen("teste.txt","w+"))) return 0;
/* gravando os dados */
fwrite (&aluno, 1, sizeof (Taluno), file);
close (file);
/* apenas para separar a escrita da leitura em 2 tempos */
/* vou usar variaveis diferentes apenas para realmente verem que realmente a leitura esta sendo feita totalmente independente da escrita, nao quero deixar duvida */
printf ("precione qualquer
getchar();
FILE *filer;
/* abrindo o arquivo para leitura */
if (!(filer=fopen("teste.bkp","r"))) return 0;
long ret;
/* lendo o arquivo */
ret = fread (&raluno, 1,sizeof (Taluno), filer);
if (ret > 0)
{
/* imprimindo o conteudo lido */
printf ("Nome: %s\nidade: %d anos\n", raluno.nome, raluno.idade);
}
close (filer);
return 1;
}
Nenhum comentário:
Postar um comentário