Matyr
Bekanntes Mitglied
- Dabei seit
- 09.03.2007
- Beiträge
- 428
- Reaktionspunkte
- 0
Hi, Ich habe folgende datei:
Ich ermittel wieviele Zeichen es bis zu dem ||lol sind indem ich das in einem string einfüge und dann mit find arbeite.
So erhalte ich die Zahl 34. Nun möchte ich gerne die nächste zeile mithilfe von getline auslesen. Dafür setze ich den iterator auf 43+6 wegen den 6 zeichen von ||lol +'\n' . Therotesch hört sich das ja gut an aber wenn ich jetzt mit getline weiter auslesen will fängt der nicht da on wo er soll in der nächsten zeile sondern ganz woanders. Ich muss + 13 rechnen damit das einwantfrei klappt.
Das wäre ja nicht das prob aber sobald ich ||test mit ||lol vertausche klappt das nichtmehr und der fängt zuweit unten an.
Meine frage ist jetzt wieso?
Und gibt es eine lösung?
Mfg. Matyr
Hier nochmal den source code:
111
111
111
||test
222
222
222
59
||lol
333
333
333
56
6
Ich ermittel wieviele Zeichen es bis zu dem ||lol sind indem ich das in einem string einfüge und dann mit find arbeite.
So erhalte ich die Zahl 34. Nun möchte ich gerne die nächste zeile mithilfe von getline auslesen. Dafür setze ich den iterator auf 43+6 wegen den 6 zeichen von ||lol +'\n' . Therotesch hört sich das ja gut an aber wenn ich jetzt mit getline weiter auslesen will fängt der nicht da on wo er soll in der nächsten zeile sondern ganz woanders. Ich muss + 13 rechnen damit das einwantfrei klappt.
Das wäre ja nicht das prob aber sobald ich ||test mit ||lol vertausche klappt das nichtmehr und der fängt zuweit unten an.
Meine frage ist jetzt wieso?
Und gibt es eine lösung?
Mfg. Matyr
Hier nochmal den source code:
Code:
char test[]={"||lol\n"};
int pos=s_Datei.find(test,0);
cout<<"--: "<<pos<<"\n";
pos=pos+(sizeof(test)*2)+1;
cout<<"--: "<<ab<<"\n";
Datei.seekg(pos);
getline(this->Datei,tmp);
cout<<"A: "<<tmp<<"\n";
convert(tmp,this->Daten.a);
if(Daten.a<=0){Daten.a=2;}
getline(this->Datei,tmp);
cout<<"B: "<<tmp<<"\n";
convert(tmp,this->Daten.b);
if(Daten.b<=0){Daten.b=2;}
getline(this->Datei,tmp);
cout<<"C: "<<tmp<<"\n";
convert(tmp,this->Daten.c);
if(Daten.c<=0){Daten.c=2;}
getline(this->Datei,tmp);
cout<<"GG: "<<tmp<<"\n";
convert(tmp,this->Daten.gg);
if(Daten.gg<=0){Daten.gg=2;}