Hi!
Folgendes Problem: Ich möchte mir aus einer Textdatei den Text holen und in eine Variable speichern. Ich habe dazu eine Methode HoleText() geschrieben. Das Problem ist nun, dass das Ende der Textdatei nie erreicht wird und eof immer true ist.
Warum das Textende nie erreicht wird, ist mir komplett schleierhaft.
Hier der Code:
Alles anzeigen
Die while-Schleife mit der Bedingung !textdatei.eof() ist die Endlosschleife, die nie verlassen wird.
Ich wär echt dankbar für ein paar Tipps
Was ich vergessen habe zu erwähnen: Die Textdatei beinhaltet nur eine Zeile. Ich habs mit mehreren Zeilen versucht und da scheint es zu funktionieren. Komisch, oder?
mfg enne
Folgendes Problem: Ich möchte mir aus einer Textdatei den Text holen und in eine Variable speichern. Ich habe dazu eine Methode HoleText() geschrieben. Das Problem ist nun, dass das Ende der Textdatei nie erreicht wird und eof immer true ist.
Warum das Textende nie erreicht wird, ist mir komplett schleierhaft.
Hier der Code:
Quellcode
- CString CWegmessung::HoleText()
- {
- CString text("");
- //Textdatei zum Lesen öffnen
- ifstream textdatei("test1.txt", ios::in);
- if(!textdatei)
- {
- //Hier kommt noch Exception-Handling hinzu!
- TRACE(_T("Fehler beim Öffnen der Datei!"));
- }
- //Länge der Textdatei bestimmen
- textdatei.seekg (0, ios::end);
- length = textdatei.tellg();
- textdatei.seekg (0, ios::beg);
- //Neues Vektorobjekt mit Größe abhängig von Zeichenanzahl anlegen
- char *buffer = new char[length];
- //Anzeigen, an welcher Pos. der Cursor sich momentan befindet
- int f = textdatei.tellg();
- //Speichern der Zeilenanzahl u. speichern des Textes
- while(!textdatei.eof())
- {
- textdatei.getline(buffer, length);
- text += buffer;
- text.Append(_T(" "));
- }
- //Schließen der Textdatei
- textdatei.close();
- delete buffer;
- return text;
- }
Die while-Schleife mit der Bedingung !textdatei.eof() ist die Endlosschleife, die nie verlassen wird.
Ich wär echt dankbar für ein paar Tipps

Was ich vergessen habe zu erwähnen: Die Textdatei beinhaltet nur eine Zeile. Ich habs mit mehreren Zeilen versucht und da scheint es zu funktionieren. Komisch, oder?
mfg enne