Meine Anwendung ist im Grunde eine Shell, die eine Eingabe vom Typ cmd [x]
, donde cmd
konstant ist und x
ist optional. Also cmd 1
ist sowohl legal als auch cmd
von sich aus - dann nehme ich einen Standardparameter für x
.
Ich tue dies:
char cmd[64];
scanf("%s", cmd);
int arg;
scanf("%d", &arg); // but this should be optional
Wie kann ich den Integer-Parameter auslesen und ihn auf einen Standardwert setzen, wenn in der Eingabeaufforderung gerade keiner verfügbar ist? Ich möchte nicht, dass die Eingabeaufforderung auf eine zusätzliche Eingabe wartet, wenn sie nicht im ursprünglichen Befehl angegeben wurde.
Ich habe mehrere Versionen mit fgetc()
y getchar()
und vergleichen sie mit EOF
aber ohne Erfolg. Jede Version, die ich ausprobiert habe, wartet am Ende auf den optionalen Integer-Parameter.