如何处理可变数量的scanf输入? 我正在扫描命令,其中一些是1.字命令,但一些需要数字参数。 scanf是否允许以下内容?可变的scanf输入
scanf(" %s %d", command, argument);
如果只输入一个值,会忽略“参数”吗? 另一种选择我虽然之一是
scanf(" %s", command)
if (strcmp(command, "somethin") {
scanf("%d", argument); }
但是,这将创建一个新行权?终端必须以“>命令参数” 的形式接收输入,我的问题是,如何解决具有可变数量输入的问题。
第一个将等待你输入一个参数。用'fgets()'读一行,然后用'sscanf()'来解析它。 – Barmar
您也可以阅读该行,然后使用'strtok()'将其分割为令牌,然后解析。 – Barmar
你几乎肯定要读整行然后处理该行 –