C:来自用户的未知输入

时间:2018-08-16 11:10:42

标签: c input scanf

我希望从C语言的用户那里获得输入。有两种选择: char,然后int scanf("%c, %d", &mychar, &myint)string

我的问题是,如果我不知道用户要输入什么,该如何检查用户输入行-字符串或char / int组合。谢谢!

1 个答案:

答案 0 :(得分:6)

使用fgets输入一个字符串,然后在其上尝试sscanf,并检查结果是否成功。如果得到2,则说明您已成功读取一个字符和一个整数。如果还有其他问题,sscanf无法读取您指定的格式,请使用原始字符串。

您甚至可以读取格式"%c, %d%c"(不要忘记给它一个char变量以读取第三个参数),以查看是否有char和一个整数,这是严格的错误检查:"x, 18trashtrash"将使sscanf返回3,而好的"x, 18"将给您2