Zeilen zählen!
-
Hallo!
Ich hab gerade ein Problem an meinem Prgramm, denn ich weiss nicht wie ich zeilen zählen kann.

cout << "Dateiname:" << endl; cin >> name; ifstream datei(name);und jetzt muss ich ja irgendwie mit EOF ans Dateiende und dabei die Zeilen zählen. Aber wie??
int n = 0; for(int i=0; i!= feof(datei); i++) { n = n+1; }so gehts ja nicht
Kann mir jemand helfen?
MfG
-
Zeilenweise einlesen und mitzählen bist das Dateieende erreicht ist.
-
ja wie n ist ja mein zähler und der geht immer eins hoch.
aber ich weiss nicht was ich schreiben muss um nach jeder zeile eins hochzugehen.
wie les ich zeilenweise ein?
-
kein_plan schrieb:
ja wie n ist ja mein zähler und der geht immer eins hoch.
aber ich weiss nicht was ich schreiben muss um nach jeder zeile eins hochzugehen.
wie les ich zeilenweise ein?Lies doch, was bei dem Link steht. Da wird alles erklärt.
Schau mal unter getline nach..
-
kein_plan schrieb:
wie les ich zeilenweise ein?
Mit getline. Für die genaue Syntax dem Link folgen, den drakon gegeben hat.
Edit: Da war ich wohl zu langsam...
-
fstream f("datei.txt", ios::in); string str; int i = 0; while ( !f.eof() ) { getline(f, str); i++; }
-
hi
aber ich will doch gar nicht wissen was in den zeilen drinsteht, sondern nur wie viel es sind.
kann mir da niemand was schreiben?MfG
-
kein_plan schrieb:
hi
aber ich will doch gar nicht wissen was in den zeilen drinsteht, sondern nur wie viel es sind.
kann mir da niemand was schreiben?MfG
Geht leider nicht anderst. Skym0sh0 zeigt, wies geht..
-
Sorry
Hätt ich meinen Beitrag 5 sekunden später verfasst.
das ist klasse von Skym0sh0
BIG THX
und das ist das GEILSTE forum
DANKE!!
-
hab da noch ne frage...
wird eigentlich hier f immer überschrieben?
while ( !f.eof() ) { getline(f, str); i++; }
-
kein_plan schrieb:
hab da noch ne frage...
wird eigentlich hier f immer überschrieben?
while ( !f.eof() ) { getline(f, str); i++; }Nein, str wird überschrieben mit dem Inhalt der nächsten Zeile aus f. Und der Zeiger auf die Position in der Datei, welcher in f enthalten ist, wird auf den Anfang der darauffolgenden Zeile gesetzt.