Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

[C] fscanf - formatiertes einlesen
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> [C] fscanf - formatiertes einlesen
 
Autor Nachricht
Van da Abfahrt
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 17.05.2006
Beiträge: 5
Wohnort: Dresden

BeitragVerfasst am: 28 Jan 2008 - 11:31:17    Titel: [C] fscanf - formatiertes einlesen

hi,

möchte aus einer datei formatiert in eine strucktur einlesen...

datei inhalt:

1 | Max, Musterman | 01.02.2006 | 12.02.2006

strucktur:

Code:

struct Belegung
{
   char zimmer[1];
   char name[40];
   char anreise[10];
   char abreise[10];

   struct Belegung *next;
};


einlesen in die strucktur:

Code:

while(fscanf(file, "%s | %[^\, ]s | %s | %s", belegungTemp->zimmer, belegungTemp->name,
            belegungTemp->anreise, belegungTemp->abreise) != EOF)


habe extra nur den quelltext ausschnitt gewählt da ich weiß das es sich um die schablone %[^\, ]s handelt. es ließt bloß bis zum komma ein und ich weiß nicht wie ich die schablone anpassen muß, damit in dem char name "Max, Mustermann" steht.

PS: bitte keine verlinkung auf google... damit hab ich schon den morgen verbracht und nur ein beispiel im galileo gefunden, was leider nur unzureichend erklärt wurde.
commander_keen
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 01.07.2005
Beiträge: 120

BeitragVerfasst am: 01 Feb 2008 - 23:33:50    Titel:

hallo

was an der schablone nicht stimmt, weiß ich auch nicht...

aber du könnstest stattdessen:

1 | Max | Musterman | 01.02.2006 | 12.02.2006

in dein textfile schreiben (falls du die daten erzeugst)

oder du liest mit fgets die ganze zeile, und suchst dann mit strchr nach "|" und "," und teilst den string entsprechend auf.

lg
Fux84
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 01.06.2007
Beiträge: 58

BeitragVerfasst am: 03 Feb 2008 - 00:10:11    Titel:

Ich glaube dein fscanf muss so aussehen:

fscanf(file, "%s | %[^\, ]s | %s | %s", &belegungTemp->zimmer, &belegungTemp->name,
&belegungTemp->anreise, &belegungTemp->abreise)

denn du zeigst ja auf Arrays also muss du auch einen Adressoperator angeben.

MfG

Fux84
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> [C] fscanf - formatiertes einlesen
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum