læse gennem en fil

Tags:    c++

Hej udviklere,
jeg sidder med et program der skal konvertere en datafil til en anden. Begge er tekstfiler, blot med hvert sit format.
Formatet er nogenlunde sådan her:
"Mariehøne", 2 , 10
"Mariehøne", 3 , 10
"Mariehøne", 3 , 11
"Edderkop", 3 , 10
etc..
Output skal være en separat datafil for hver art. Da inputfilen er ret stor (ca. 1 million linier), foretrækker jeg at læse 1 art af gangen, oprette en datafil, så læse den næste art etc.
Problemet er hvordan jeg kan finde ud af hver art er afsluttet? Jeg bruger std::getline() - men jeg har allerede læst en linie før jeg ved at den første hører til i næste gennemløb. Jeg har rodet lidt med noget kode:
Fold kodeboks ind/udKode 

Men problemet er at jeg så mister en datapost. Nogen ideer?



Indlæg senest redigeret d. 11.09.2007 12:36 af Bruger #8249
3 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Jeg vil lave en rekursiv løsning.



Du kunne gøre noget i stil med:

Fold kodeboks ind/udKode 




Tak begge!
Jeg kan godt se det smarte ved en rekursiv løsning - og Bertels løsning viser også at det er muligt at lave klar og letlæselig c++ kode. (mit mål er faktisk ikke at summere data, men at lave en vector<info>, men det lader sig jo nemt ændre).

Begge svar har jeg lært noget af, super!



t