我希望从C语言的用户那里获得输入。有两种选择:
char
,然后int
(scanf("%c, %d", &mychar, &myint)
)
或string
。
我的问题是,如果我不知道用户要输入什么,该如何检查用户输入行-字符串或char / int组合。谢谢!
答案 0 :(得分:6)
使用fgets
输入一个字符串,然后在其上尝试sscanf
,并检查结果是否成功。如果得到2
,则说明您已成功读取一个字符和一个整数。如果还有其他问题,sscanf
无法读取您指定的格式,请使用原始字符串。
您甚至可以读取格式"%c, %d%c"
(不要忘记给它一个char变量以读取第三个参数),以查看是否有char和一个整数,这是严格的错误检查:"x, 18trashtrash"
将使sscanf
返回3
,而好的"x, 18"
将给您2
。