Merkwürdiges beim dateien auslesen

Diskutiere Merkwürdiges beim dateien auslesen im Developer Network Forum im Bereich Hardware & Software Forum; 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...
  • Merkwürdiges beim dateien auslesen Beitrag #1
Matyr

Matyr

Bekanntes Mitglied
Dabei seit
09.03.2007
Beiträge
428
Reaktionspunkte
0
Hi, Ich habe folgende datei:

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;}
 
  • Merkwürdiges beim dateien auslesen Beitrag #2
Matyr

Matyr

Bekanntes Mitglied
Dabei seit
09.03.2007
Beiträge
428
Reaktionspunkte
0
Edit:

Die Zahlen sind nicht festgesetzt nur die "Kapitel" Überschriften sind konstant aber nicht immer auf der gleichen höhe.
Bedeutet das ganze ist dynamisch.
 
  • Merkwürdiges beim dateien auslesen Beitrag #3
Matyr

Matyr

Bekanntes Mitglied
Dabei seit
09.03.2007
Beiträge
428
Reaktionspunkte
0
Kann das vieleicht was mit dem unterschied zwischen unicode und multibyte zu tun haben?
 
  • Merkwürdiges beim dateien auslesen Beitrag #4
haiko

haiko

Bekanntes Mitglied
Dabei seit
09.01.2003
Beiträge
4.727
Reaktionspunkte
1
Ort
Kempten
unter welchem system machst du das? es gibt da nen kleinen unterschied zwischen windows und linux: bei windows ist der zeilenumbruch nur ein zeichen (newline), bei linux 2 (newline und carriage return). könnte daran liegen.
 
  • Merkwürdiges beim dateien auslesen Beitrag #5
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Ich werd aus Deinem Source nicht so recht schlau.
Was genau willst Du denn damit eigentlich erreichen?
 
  • Merkwürdiges beim dateien auslesen Beitrag #6
Matyr

Matyr

Bekanntes Mitglied
Dabei seit
09.03.2007
Beiträge
428
Reaktionspunkte
0
Ich habe iene datei mit mehreren einzelnen datenblöcken jeder Datenblock hat eine überschrift wie lange die einzelnen datenblöcke sind varieirt.
Nun möchte ich den kompletten datenblock der unter einer überschrift steht zeilenweise einlesen.
Dafür such ich die überschrift setzte den iterator auf die position. Anschließend will ich weiter mit getline einlesen was aber nicht klappt.
 
  • Merkwürdiges beim dateien auslesen Beitrag #7
U

UnimatrixZero

Bekanntes Mitglied
Dabei seit
27.06.2001
Beiträge
645
Reaktionspunkte
0
Wenn Du sowieso die ganze Datei komplett einlädst, um darin einfacher suchen zu können, wozu brauchst Du dann die Seek-Postion in der Datei? Durch das Suchen im String hast Du den Index. Index+Länge des Suchstrings+Zeilenende ist dann der Index zu den Daten des Blockes.
Statt getline schreibst Du Dir eine eigene kleine Funktion, die Dir die Zeile ab einem Index zurückliefert und die Position mit hochzählt, so daß beim nächsten Aufruf die nächste Zeile gelesen wird.
 
  • Merkwürdiges beim dateien auslesen Beitrag #8
Matyr

Matyr

Bekanntes Mitglied
Dabei seit
09.03.2007
Beiträge
428
Reaktionspunkte
0
Ok, werde ich mal versuchen
 
Thema:

Merkwürdiges beim dateien auslesen

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben