My application is basically a shell which expects an input of type cmd [x]
, where cmd
is constant and x
is optional. So cmd 1
is legal as well as cmd
by itself - then I assume a default parameter for x
.
I am doing this:
char cmd[64];
scanf("%s", cmd);
int arg;
scanf("%d", &arg); // but this should be optional
How can I read the integer parameter, and set it to a default if none is currently available in the prompt? I do not want the prompt to wait for additional input if it was not given in the original command.
I tried several versions using fgetc()
and getchar()
and comparing them to EOF
but to no avail. Each version I tried ends up waiting on that optional integer parameter.