[C] Datei Zeilenweise und mit Trennzeichen auslesen

eternitysoft

Mitglied
Hallo,

ich habe mal wieder ein Problem an dem ich gerade sitze und nicht so recht weiter komme.

Und zwar habe ich eine Textdatei mit folgendem Aufbau:

Code:
Name;Straße;Ort;
Name2;Straße2;Ort2;
...
Problem ist, ich schaffe es gerade nicht wirklich die Datei vernünftig auszulesen.

Ich habe es mit fscanf schon probiert, aber ein einfache %s tut es ja nicht, da das Zeichen ; ja nicht als Trennzeichen erkannt wird.

Code:
        while( fscanf(stream,"%s %s\n",name, street, place) != EOF)
        {
            printf("\n %s \n %s \n %s \n\n",name, street, place);
        }

        fclose ( stream );
Ich stehe gerade ein wenig auf dem Schlauch, wäre über hilfe sehr dankbar.

Mit freundlichen Grüßen
 
Hallo, hier mal ein Beispiel:
C++:
struct addr {
char *street;
char *name;
char *place;
};

int main()
{
struct addr adressen[100]; //100 Adressen maximal
char temp[1000];
FILE *f;
int z=0;
f=fopen("deinedatei.txt","r");
for(z=0;fgets(temp,sizeof temp,f)!=0;z++)
{
adressen[z].name=strtok(temp,";");
adressen[z].street=strtok(NULL,";");
adressen[z].place=strtok(NULL,";");
printf("\n %s \n %s \n %s \n\n",adressen[z].name,adressen[z].street,adressen[z].place);
}
return 0;
}
PS: Ich habe eine Struktur genommen, da du ja viele Elemente einlesen willst ;)
Lorenz
 
Zuletzt bearbeitet von einem Moderator:
Hey danke euch beiden, ich werde es mir mal anschauen.

@lorenz: Ich kenne structs etc, ich hätte die ja auch benutzt, nur leider darf ich keiner strukturierte Variablen benutzen, aber das anpassen ist ja kein Problem ;)
 
Zurück