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 integerKann 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).