sscanf函数用于从字符串中读取格式化输入。它的语法如下:
int sscanf(const char *str, const char *format, ...);
其中,str是输入的字符串,format是格式化字符串,…是可选的参数列表,用于接收解析结果。
下面是一个使用sscanf函数的示例:
#include <stdio.h>
int main() {
char str[] = "Hello 123 World";
char word[10];
int num;
sscanf(str, "%s %d", word, &num);
printf("Word: %s\n", word);
printf("Number: %d\n", num);
return 0;
}
输出结果为:
Word: Hello
Number: 123
在这个示例中,我们定义了一个字符串str,并使用sscanf函数从中读取一个字符串和一个整数。格式化字符串"%s %d"表示要读取一个字符串后跟一个整数。sscanf函数将字符串str中符合格式化字符串的部分解析出来,并分别存储到word和num变量中。
需要注意的是,sscanf函数返回成功解析的参数个数。在这个示例中,sscanf函数成功解析了两个参数,因此返回值为2。如果返回值与参数格式不匹配,可能是因为解析失败或者解析到的参数个数少于格式化字符串中指定的参数个数。