【发布时间】:2020-04-08 13:39:33
【问题描述】:
我在正确读取用户输入时遇到问题。
用户输入"A Smaug 23 fire 10",我需要获取除第一个字母'A'之外的所有信息到我的代码中。
char buffer[80];
char *ret = fgets(buffer, 80, stdin)
if (ret == NULL){
break;
}
char name[10],weapon[10];
int attackpoints, hitpoints;
int x = sscanf(ret," %s %d %s %d", name, &attackpoints,weapon,&hitpoints);
这行不通。
如何跳过A 并将用户输入存储到正确的变量中,例如name = Smaug、attackpoints = 23、weapon = fire 等?
【问题讨论】:
-
像
int x = sscanf(ret," %*s %s %d %s %d", name, &attackpoints, weapon, &hitpoints);这样的*的第一个说明符读取但忽略(几个)字符。