Quebra cabeças para verdadeiros Programadores!!

orien

Portugal@Home Member
Código:
void ler(info *ptr)
{
 clrscr();
 flushall();
 printf("Insira o seu nome: ");
 gets((*ptr).nome);
 flushall();
 printf("\nInsira a sua idade: ");
 scanf("%d", &(*ptr).idade);
 flushall();
 printf("\nInsira o dia de hoje: ");
 scanf("%d", &(*ptr).realizacao.dia);
 flushall();
 printf("\nInsira o mes em que se encontra: ");
 gets((*ptr).realizacao.mes);
 flushall();
 printf("\nInsira o ano em que se encontra: ");
 scanf("%d", &(*ptr).realizacao.ano);
}

Como Consigo por tudo o que esta gravado dentro das variaveis, para um Ficheiro?? E depois como faço para voltar a mostrar o que esta dentro do ficheiro??

Obrigado ;D
 
Boas,

Código:
//Escrever:
File *f = fopen("info", "wb");
fwrite(ptr, sizeof (info), 1, f);
fclose(f)
 
//Ler:
info varinfo;
File *f = fopen("info", "rb");
fread(&varinfo, sizeof (info), 1, f);
fclose(f)

Onde pagas a loiraça :lol:
 
hum se calhar escrevi muita a pressa...sorry...

basicamente gravas num ficheiro binario a que chamei info, uma estrutura do teu tipo info (vais escrever no fich toda a estrutura e nao apenas os campos). Depois quando fores ler abres o ficheiro em modo de leitura binaria, les do ficheiro a estrutura pra uma varivel info auxiliar e depois podes mostrar os campos dessa variavel auxiliar com um printf.

Penso que assim fica mais facil porque so escreves de uma so vez a estrutura com os dados todos em vez de teres de escrever os dados um a um de uma estrutura.
 
Bem eu acabei de fazer uma coisa do genero ve:

Código:
int reg() 
{
char Name[30], Password[10], Nome[30], Pass[10];
FILE *fp;



fp = fopen( "Regis.txt", "a+");
printf("Introduza o seu nome de Utilizador:\n");
scanf ("%s", Nome);
printf("Introduza a password:\n");
scanf("%s", &Pass);


while(fscanf(fp, "%s %s", Name, Password) !=EOF)
        {
            if (strcmp(Name, Nome)==0) {printf("Utilizador já registado com esse nome escolha outro\n\n"); fclose(fp); return(registo(Nome, Pass, 0));}
        }

return(registo(Nome, Pass, 1));
}


registo (char Nome[30],char Pass[10], int num) 
{
FILE *fp;

fp = fopen("Regis.txt", "a+");
if (num ==0) reg();
if (num ==1) {fprintf(fp, "%s %s\n", Nome, Pass); printf("Registo Efectuado com Sucesso\n\n");fclose(fp);menu();}
}

o codigo ainda é muito precário lol ainda estou a aprender :p
 
n tas o por as strings no ficheiro

tens que usar um algoritmo de escrita universal para ele escrever os teus ficheiros
sempre da mesmo forma tipo

josé;12345;25

e outro para ler todos os ficheiros da mesma forma
 
Back
Topo