C - 带有可选 int 的 scanf 字符串
C - scanf string with optional int
我正在做一个项目,但我似乎无法找到一种方法来读取带有并不总是存在的 int 的字符串。
例如:
我有 2 个变量
int argument = 0;
char instruction[16];
输入是:
"string" 57
我想在指令中输入 "string",在参数中输入 57。这个我可以用
scanf("%s %d", instruction, &argument);
问题是输入可以没有数字,即
"string"
然后我想把 "string" 放在指令中并让参数等于 0。
但是程序在 "string" 之后需要一个数字,并且在得到它之前不会继续。
当我可以有 2 种不同类型的输入时,如何从标准输入读取输入?我尝试了几种解决方案,但其中 none 有效。
谢谢
我正在做一个项目,但我似乎无法找到一种方法来读取带有并不总是存在的 int 的字符串。
例如: 我有 2 个变量
int argument = 0;
char instruction[16];
输入是:
"string" 57
我想在指令中输入 "string",在参数中输入 57。这个我可以用
scanf("%s %d", instruction, &argument);
问题是输入可以没有数字,即
"string"
然后我想把 "string" 放在指令中并让参数等于 0。 但是程序在 "string" 之后需要一个数字,并且在得到它之前不会继续。
当我可以有 2 种不同类型的输入时,如何从标准输入读取输入?我尝试了几种解决方案,但其中 none 有效。
谢谢