segunda-feira, 30 de março de 2009

leitura/escrita de dados/estruturas em arquivo



Contador de acessoVisitas


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 para continuar ...\n");
    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

Advogados
Visitas