Ich möchte einige Benutzereingaben lesen und mit jedem Eingang etwas tun. Ich mache das mit diesem Code:Benutzereingabe lesen und bei leerer Zeichenfolge stoppen
char c;
while(1){
printf("input");
c = scanf ("%s", &c) ;
}
Das funktioniert gut. Aber ich brauche es, um auch eine leere Eingabe zu akzeptieren. Aber es geht einfach weiter zur nächsten Zeile und erwartet eine nicht leere Eingabe. Wie könnte ich das tun?
aktuelle Situation:
input:asdf
input:b
input:c
input:d
input:e
input:
fjhkjh
Erwartet:
input:asdf
input:b
input:c
input:d
input:e
input:blabla
input:f
input:
input:
Wie die cmd-Konsole funktioniert wie ... UPDATE: Ich habe nicht nur eine einzige charcater gelesen, das war ein Beispiel
Sie wollen '% c' anstelle von'% s', und um ein einfaches 'char' zu erhalten, ist es besser, [getchar] (http://www.tutorialspoint.com/c_standard_library/c_function_getchar.htm) zu verwenden und auszudrucken mit [putchar] (http://www.tutorialspoint.com/c_standard_library/c_function_putchar.htm), deklariere 'c' als' int' –
'char c [3]; // oder mehr '..' fgets (c, sizeof c, stdin); ' – BLUEPIXY
Wenn ich' c = getchar() 'verwende, wird ein' input: 'für jedes Zeichen in der Zeile vor dem ... –