letzte Zeile in txt Datei auslesen



  • Hallo,

    ich habe eine lange txt Datei, die sich Zeile für Zeile mit neuen Infos füllt.
    nun möchte ich gerne immer die aktuell letzte Zeile einlesen.
    irgendwie komme ich nicht weiter, denn fgets stoppt ja am Ende der ersten Zeile bereits.

    ist es evlt möglich über EOF das Ende zu finden und dann den letzten Zeilenumbruch, so dass ich den letzten string Bereich klar filtern kann?

    Danke



  • Hab mal schnell was zusammengebastelt (geht bestimmt auch eleganter):

    int main()
    {
    	FILE *f=fopen("C:\\test.txt","r+");
    	char c=0;
    	fseek(f,-1,SEEK_END);
    	while(c!='\n') {
    		fseek(f,-1,SEEK_CUR);
    		c=fgetc(f);
    		ungetc(c,f);
    	}
    	char strLine[1024]={0};
    	while(!feof(f)) {
    		fgets(strLine,1024,f);
    	}
    	printf("%s\n",strLine);
    	fclose(f);
    	getchar();
    }
    

    EDIT: Und vor allem solltest du natürlich auch Rückgaben prüfen, was ich mir jetzt gespart habe!


Log in to reply