• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

iCl4w

Salvar Dados de um Cadastro em Arquivo

9 mensagens neste tópico

Olá,

Gostaria de saber como faço para gravar os dados que coloquei no programa, em um arquivo à parte.

Pesquisei e achei funções como: fwrite() fread() só que não sei usá-las.

Estou fazendo um projeto de controle escolar, e seria bem interessante se o programa, ao ser aberto novamente, tivesse os dados que havia colocado nele!

Alguém se dispõe?

Aguardo respostas...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse arquivo.txt tem de estar na mesma pasta que meu .exe? Ou seja, não preciso indicar diretório?

FILE *fout = fopen("arquivo.txt","w"); 
// O que é o "w"? O fopen vai criar automaticamente o arquivo.txt? Como vou acessá-lo pelo programa?
fprintf(fout, "Escrever num ficheiro.\n"); 
// Toda vez que for registrar algo, por exemplo,
cout << "Digite NOME: "<<endl;
gets(vet.nome); // Tenho que trocar essa linha por:
fprintf(fout, vet.nome); // Tá muito estranho...

Realmente, tenho algumas dúvidas sobre o assunto...

Espero que possam me ajudar...

Abçs...

fclose(fout);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok bruno1234.

Só falta o resto das respostas... OBS.: Minhas dúvidas estão DENTRO do código nos comentários //!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O w significa q estás a abrir o ficheiro para escrita.

A outra pergunta não percebi.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como o programa lê os dados depois que eu abri-lo novamente?

Que codigo uso pra ele ler os dados que escrevi anteriormente? Ou não precisa?

Se eu no caso abrir um arquivo  pra registrar dados... Ele poderá ser lido em outras funções?

Exemplo:

int main()
{
    FILE * pFile;
   int n;
   char name [100];

   pFile = fopen ("myfile.txt","w");
   for (n=0 ; n<3 ; n++)
   {
     puts ("please, enter a name: ");
     gets (name);
     fprintf (pFile, "Name %d [%-10.10s]\n",n,name);
   }
   fclose (pFile);

   return 0;
}

Se eu no caso fizer quiser ler na seguinte funçao:

void cadastro(void)
{
cout<<"Digite NOME: "<<endl;
gets(vet(i).nome); //colchete faz o texto ficar em itálico! xD
fprintf (pFile, "Name %d [%-10.10s]\n",n,name);
....

Isso é válido?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vlw bruno1234!

Com certeza, irei postar mais dúvidas, mas agradeço a ajuda de todos... E continuem respondendo...

Abçs..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora