Problem beim Einlesen eines einzelnen Zeichens
-
Hallo zusammen,
ich habe folgendes Problem, leider bin ich im Netz nicht auf die Lösung gekommen:
Ich möchte in einem char-Feld einzelne Zeichen einlesen, mein Code sieht so aus:
char op[ELEMENT]; for (i=0; i<ELEMENT; i++) { scanf("%c", &op[i]); }
So wie ich das verstehe, ist das Problem, dass nach dem Zeichen auch das '\n' mitgeschrieben wird. Ich wüsste jetzt aber nicht wie ich das beheben könnte.
Wäre für Vorschläge sehr dankbar.
-
nur zum beheben?
char op[ELEMENT]; char buf[3]; for (i=0; i<ELEMENT; i++) { scanf("%c", &buf); op[i] = buf[0]; }
Das geht aber sicherlich auch schöner... z.B. mit getchar();
-
Nimm fgets zum Einlesen von mehreren Zeichen mit EINEM abschließendem <Enter>.
Wenn du wirklich einzelne Zeichen (jeweils mit 1x <Enter> abgeschlossen) einlesen willst, benötigst du Zeit für die Einarbeitung in die Unterschiede von scanf/getchar/fgets. Kannst auch mal schauen unter: http://www.c-plusplus.net/forum/viewtopic-var-t-is-272820-and-highlight-is-.html