Datei zeilenweise einlesen
-
Hallo
ich möchte eine Textdatei zeilenweise einlesen. Leider klappt das nicht so, wie ich mir das vorstelle

Mit folgendem Code werden immer nur die ersten 21 Zeilen eingelesen. Ich möchte aber natürlich alle Zeilen einlesen...
Was muss ich dafür tun?#include "stdafx.h" #include <fstream> #include <iomanip> using namespace std; int main(int argc, char* argv[]) { char* wort; fstream myFile; myFile.open("c:\\woerter.txt", ios::in); while(!myFile.eof()) { myFile.getline(wort, 200); cout << wort << "\n"; } myFile.close(); return (0); }Vielen Dank & Liebe Grüße
-
Hallo,
dein Code funktioniert so?
Ich würde den Lesebuffer vor der Verwendung noch initialisieren, zumindest bei mir klappts dann immer ohne Probleme.
Such mal einfach bei Google wie du richtig Daten mit der STL lesen kannst, ich bin leider im Moment nicht Zuhause sonst könnte ich dir auch mit Sourcecode helfen.
Btw, www.cppreference.com kennst du?Grüße
-
Erstmal für cout die iostream-Headerdatei einbauen. Desweiteren hast du für dein char-Array keinen Speicher reserviert (das dein Programm läuft ist wohl eher zufall, bei mir schmiert es direkt ab). Dies kannst du dynamisch per new machen oder einfach statisch direkt in den Quellcode schreiben:
const size_t ZEILE = 200; char wort[ZEILE];und das getline ändern zu:
myFile.getline(wort, ZEILE);Das klappt bei mir so wunderbar.
-
Nein, die Seite kannte ich nicht. Aber sie hat mir geholfen. Vielen Dank
