Zeilen einer Datei zählen
-
Ich habe gerade total die Denkblockade...
Wie kann ich die Anzahl der Zeilen einer Datei zählen?
Die Suche hat mir da keider nicht weitergeholfen...
Danke im Voraus, Manuel.
-
mit ReadString die Datei Zeile für Zeile einlesen bis EOF und dann
in jeder schleife ne int-Variable incrementieren -> voila!
-
Ich komme mit der CStdioFile Klasse einfach nicht zurecht...
-
warum benutzt du nicht die fstreams? kannste zeilen weise einlesen...
-
fstream method verstehe ich auch nicht...
-
hmm.. da..
#include <iostream> #include <fstream> using namespace std; int main() { ifstream dat("datei.txt");//stream zu einer datei erstellen char buf[1]; int line=0;//anzahl der zeilen while(dat.getline(buf,1))/*bis ans ende der datei lesen (1 zeile 1 schleifenaufruf)*/ { line ++;//line erhöhen (+1) } cout << "Datei enthält: " << line << " Zeilen" << endl;//Anzahl ausgeben system("pause"); return 0; }
hab ich einfach so ausm kopf aus geschrieben sollte aber gehen^^
mfg burnner
-
hehe, alter Poser (ausm kopf...)
-
??^^ was Poser?
-
CString filenam = "C:\\datei.txt"; CStdioFile pFile; CString string; pFile.Open(filenam, CFile::modeRead , NULL ); int i=0; while(pFile!=EOF) { pFile.ReadString(string); i++; } pFile.Close(); //i enthaelt die Anzahl der Zeilen
-
Hat sich nur so lustig angehört.
hab ich auch gerade ausm kopf getippelt (bin bei der arbeit) und kann die
Richtigkeit also nicht garantieren *selberpose*
-
Bei mir ergibt das immer 0...
using namespace std; ifstream fAnzZeilen("ServerVersionen.ini"); char buf[1]; int nZeilen = 0; while(fAnzZeilen.getline(buf, 1)) { nZeilen ++; } CString strAnzZeilen; strAnzZeilen.Format("%d", nZeilen); MessageBox(strAnzZeilen);
in der "ServerVersionen.ini" steht folgendes:
[ServerVersionen] 1=BWM_JN|685.6 2=HartmannTresore_MR|685.6 3=Pfennig_HV|685.6
Bzw. gibt es vielleicht sogar eine Funktion, die mir alle Werte der Gruppe [ServerVersionen] aus der INI-Datei ausliest?
-
hmm mach mal ein konsolen programm mit meinem code und teste auch.. vielleicht ist da was anderes falsch..
-
Mein Ziel ist es, alle Einträge der Kategorie [ServerVersionen] in ein List Control zu schreiben. Ich bekomme es nur nicht hin die Einträge alle auszulesen... Einzeln kann ich sie ja auslesen mit GetPrivateProfileString()...
-
CString filenam = "C:\\datei.txt"; CStdioFile pFile; CString string="anfang"; pFile.Open(filenam, CFile::modeRead , NULL ); int i=0; while(string!="") { pFile.ReadString(string); if(string!="") i++; } pFile.Close(); //i enthaelt die Anzahl der Zeilen
ich weiss, ich weiss, das is umstaendlich, probiers aber mal aus, wuerde mich
interessieren obs geht....
bzw. haste mehrere Zeilen mit cr`s in der Datei drin?
-
Hallo
Ellek schrieb:
Bzw. gibt es vielleicht sogar eine Funktion, die mir alle Werte der Gruppe [ServerVersionen] aus der INI-Datei ausliest?
aber ja, die gibt es, sie heißt GetPrivateProfileSection:
http://msdn.microsoft.com/library/en-us/sysinfo/base/getprivateprofilesection.asp
MfG