Anzahl Zeilen einer Datei



  • Hallo! Ich versuche die Anzahl der Zeilen einer Datei zuermitteln:

    f = fopen("entries.txt","r");
    
    	int countMe = 0;
    	char* e;
    while (fgets(e,255,f) != NULL) {
    		countMe++;
    }
    

    Scheitert leider beim letzen Zugriff von fgets auf die "letzte" nicht vorhandene Zeile.
    Was nun? Gibts vielleicht ne Funktion dazu, die ich niocht kenne?

    Gruß Jörg



  • versuch's mal mit feof(), um das Dateiende abzufangen.

    (btw solltest du e auch auf irgendwas zeigen lassen, was groß genug für 255 Zeichen ist)



  • f = fopen("entries.txt","r");
    
    	int countMe = 0;
    	char* e;
    	while(!feof(f)) {
    		fgets(e,255,f);
    		countMe++;
    	}
    

    Stürzt auch ab...



  • joergh schrieb:

    f = fopen("entries.txt","r");
    
    	int countMe = 0;
    	char* e;
    	while(!feof(f)) {
    		fgets(e,255,f);
    		countMe++;
    	}
    

    Stürzt auch ab...

    joah, weil e immer noch keinen gültigen Speicher hat.
    Mach mal:

    char *e = static_cast<char*>( calloc(256, sizeof(*e)) );
    //dein Code
    free(e);
    

    MfG

    GPC


Anmelden zum Antworten