000
24.07.2006, 16:19 Uhr
enne87
|
Hi!
Folgendes Problem: Ich möchte mit meiner Methode GetText() den Text und die Anzahl der Zeilen aus einer Textdatei holen. Das Problem ist, dass ich mit meinem Zeiger am Ende der Textdatei angelangt bin und ich nicht weiß, wie ich an den Anfang zurückkehren kann. Hier der Code:
Code: |
bool CWegmessung::GetText() { //Variable length mit irgendeinem Wert initialisieren int length = 1; //Textdatei zum Lesen öffnen ifstream textdatei("test.txt", ios::in); if(!textdatei) { TRACE(_T("Fehler beim Öffnen der Datei!")); return 1; }
//Länge der Textdatei bestimmen textdatei.seekg (0, ios::end); length = textdatei.tellg(); textdatei.seekg (0, ios::beg);
//Neues Vektorobjekt anlegen char *buffer = new char[length]; textdatei.read (buffer,length);
//Bufferinhalt in CString-Objekt speichern text = buffer; TRACE(text); int f = (int)textdatei.tellg();
//Speichern der Zeilenanzahl while(!textdatei.eof()) { textdatei.getline(buffer, length); this->linecounter++; }
//Schließen der Textdatei textdatei.close(); delete buffer; return 0; }
|
Somit wird die while-Schleife nie aufgerufen, da ich am ende der Datei bin. Wie komm ich wieder an den Anfang?
mfg enne |