bin auch am Verzweifeln...Textdateien einlesen

Guntpat1981

Mitglied
Hallo zusammen,

ich habe große Probleme mit dem Einlesen einer Textdatei.
Die Textdatei ist eine Flugverwaltung mit 4 Angaben (Flugnummer(string), Startflughafen(string), Ankunftszeit in Stunden(int), Ankunftszeit in Minuten(int)...
Die Tabelle in der Datei beginnt in der ersten Zeile mit den Überschriften (wie kann ich diese erste Zeile beim Einlesen ignorieren?)

AB9851 Palma 23:35

so sieht Ein Datensatz aus und ich wollte eigentlich eine Klasse Flugdaten schaffen, die über einen operator>> die Datensätze zeilenweise einliest, weiß aber nicht, wie ich das realisieren soll, zum einen wegen dem Doppelpunkt zwischen den beiden Integern, aber auch, weil manche Flüge in der Liste nicht mehr aktuell sind:

AB9423 NewYork canceled

Hat vielleicht jemand eine Idee, wie ich das bewerkstelligen könnte?

Gruß,
Patrick
 
Hi Patrick!

So Text-Arbeiten erfolgen bei mir immer in c, sollte aber eigentlich kein Prob sein das in c++ zu übersetzen, falls es denn unbedingt sein muss.

Also wie wäre es mit folgendem:

FILE *pf;
char ueberschriften[1000];
char flugnr[20];flugnr[20];//an geeigneten Stellen mit Nullen ausfüllen
int zeith,zeitm;

if(pf = fopen("meine Datei.txt","r"))
{
fgets(ueberschriften);//erste Zeile überspringen
while(4 == fscanf(pf,"%s %s %d:%d\n",flugnr,flugort,&zeith,&zeitm))//alle Daten einlesen
{
//tu was mit den eingelesenen Werten
}
fclose(pf);
}

Hoffe das hilft dir weiter

Gruss Michael
 
CodeFatal hat gesagt.:
Hi Patrick!

So Text-Arbeiten erfolgen bei mir immer in c, sollte aber eigentlich kein Prob sein das in c++ zu übersetzen, falls es denn unbedingt sein muss.

Also wie wäre es mit folgendem:

FILE *pf;
char ueberschriften[1000];
char flugnr[20];flugnr[20];//an geeigneten Stellen mit Nullen ausfüllen
int zeith,zeitm;

if(pf = fopen("meine Datei.txt","r"))
{
fgets(ueberschriften);//erste Zeile überspringen
while(4 == fscanf(pf,"%s %s %d:%d\n",flugnr,flugort,&zeith,&zeitm))//alle Daten einlesen
{
//tu was mit den eingelesenen Werten
}
fclose(pf);
}

Hoffe das hilft dir weiter

Gruss Michael

Hallo Michael,
koenntest du bitte in Zukunft die Codetags verwenden?
Das würde deine Beiträge leserlicher und deinen Code verständlicher machen.

Danke und Gruß

RedWing
 
Zurück