læsning af linier fra fil

Tags:    c++

hey,

Vi har fået en opgave om at skrive en kundedatabase i c

Indtil nu har vi fået programmet til at oprette "kundekort" og gemme det til en tekst fil (datab.txt) hvor indtastet data som navn, adresse, postnr. med videre står på hver sin linie. Det vi beder om hjælp er et foreslag til henting af de linier hvori kunde infomationerne står i.

Dette er hvad der står i vores "hent" funktion lige nu :

void Hent_fra_Fil()
{
int i;

fp=fopen("datab.txt","r");
if(!fp)
{
return;
}

for(i = 0; i < 100;i++)
{
fgets(profile.fornavn,40,fp);
fgets(profile.efternavn,40,fp);
fgets(profile.adresse,30,fp);
fgets(profile.postnr,8,fp);
fgets(profile.by,20,fp);
fgets(profile.tlf,8,fp);
fgets(profile.mtlf,8,fp);
fgets(profile.email,30,fp);
}
fclose(fp);

}


håber I kan hjælpe os lidt. På forhånd tak




4 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det ville være lettere at hjælpe hvis vi vidste hvad det er I spørger om.



I skal huske at fgets normalt returnerer en streng med en '\\n' i enden.



Det ville være lettere at hjælpe hvis vi vidste hvad det er I spørger om.


Kan ikke helt forstå din kommentar til vores tråd vedr. læsning af linier fra fil.

Det vi er skal have lavet er et database program skrevet i C (i C, ikke C++ eller C#) som kan gemme de oplysninger der bliver tastet ind og gemme dem i en tekst fil.

Man skal så kunne "loade" denne tekst fil og f.esk bede om at se "Jens Hansen"´s kundekort og får den skrevet det op på skærmen.

For at dette skal lykkes skal vi have koden til at hente bestemte antal linier fra tekstfilen som vi ikke helt forstår hvordan vi skal få til at lade sig gøre.



Det er sansynligvis mig der er ualmindelig langsom, men jeg forstår stadig ikke hvad spørgsmålet er.

Når man læser fra en fil er det letteste at blive ved med at læse til man når enden. Man kan checke dette med feof(fp) eller blot ved at checke om en læsning fejler. Vær opmærksom på at feof(fp) først returnerer true når man forøger at læse efter slutning på filen, og ikke når man er ved slutningen.

I mangel af bedre lavede jeg et lille eksempel:

Fold kodeboks ind/udKode 


Det starter med at læse filen, bemærk at x bliver talt en for mange op i Hent_fra_Fil.
Så beder den brugeren om at indtaste for og efter navn på en ny person.
Alle personer bliver til slut gemt i filen.

Hvis ikke det hjælper så fortæl præcist hvad det er I beder om hjælp til, så selv jeg kan forstå det.



t