oh man es funz net! (fopen)



  • while (!feof(filein)){
    		fgets(oneline, 255, filein);
    
    		if (sscanf(oneline, "NUMPOLLIES %d\n")) {
    			MessageBox(NULL,oneline,"Numpollies mit nummer gefunden!",MB_OK|MB_ICONEXCLAMATION);
    
    		}
    	}
    

    Das Programm soll alle NUMPOLLIES die im Textdatei vorhanden sind, herausfischen!!
    Aber was komisch ist:
    warum fischt das Programm auch NUMPOLLIES ohne ne Nummer dahinter heraus???
    %d muss doch dafür sorgen dass da eine Nummer drin ist, oder?????



  • Nö, %d ist nur ein Platzhalter für ein Int.
    Der String ist aber Char, Du kannst aber bei jedem Treffer über eine zweite Abfrage testen, ob eine Zahl flogt.



  • xBlackKnightx schrieb:

    while (!feof(filein)){
    		fgets(oneline, 255, filein);
    
    		if (sscanf(oneline, "NUMPOLLIES %d\n")) {
    			MessageBox(NULL,oneline,"Numpollies mit nummer gefunden!",MB_OK|MB_ICONEXCLAMATION);
    			
    		}
    	}
    

    Das ist C.
    Schau dir doch mal die Klassen ofstream, ifstream und fstream an.

    Devil



  • um der sache auf die schliche zu kommen teste mal was du als zahl aus einer zeile einlesen würdest wenn nur ein space drin steht. also dann mit sscanf(datei,"%d",zahl).
    ich könnte mir vorstellen, dass
    1. sscanf eine 1 zurückgibt
    2. zahl==0

    hab jetzt leider keine zeit.

    ansonsten geb ich devil recht 🙂


Anmelden zum Antworten