Zeichenweise einlesen, Zeichen zwischendrin auswerten



  • Hallo,
    ich möchte eine Textdatei Zeichenweise einlesen und dann immer wieder schauen, ob das eingelesene Zeichen "#" lautet. Mein Code sieht so aus:

    void readconf()
    {
    	FILE *config;
    	char temp;
    
    	config=fopen("config.txt","rw");
    
    	while( !feof( config ) )
    	{
    		fscanf(config,"%c",&temp);
    		//printf("%c",temp);
    		if (temp=="#")
    			printf("Nächste Zeile anvisieren");
    
    	}
    	fclose(config);
    }
    

    Natürlich funktioniert das ganze nicht und der Compiler gibt folgende Warnung aus:

    config.c: In function `readconf':
    config.c:12: warning: comparison between pointer and integer

    Kann mir da jemand bei der Problemlösung behilflich sein ??



  • '#' benutzen anstatt "#", da '#' ein einzelnes Zeichen ist.



  • Zum einlesen eines einzelnen Zeichens wäre fgetc() besser geeignet.



  • feigling schrieb:

    '#' benutzen anstatt "#", da '#' ein einzelnes Zeichen ist.

    Und solch eine dumme Kleinigkeit hat mich stundenlang beschäftigt. Dankeschön. 😃

    Gibt eigentlich noch einen Befehl, um den Pointer auf die nächste Zeile im File springen zu lassen ??



  • Einen Befehl direkt nicht, aber etwas ähnliches: while(!foef(datei)&&fgetc(datei)!='\n'); (überliest alles bis zum Zeilenende).


Anmelden zum Antworten