一、头文件:
#include <stdio.h>
二、函数描述:
将字符串以指定格式分割,并保存在指定的变量中;
三、 函数声明:
int sscanf(const char *str, const char *format, ...);
四、返回值:
成功时,函数返回成功匹配 及 赋值的个数;
失败 或 读取到⽂件末尾时,函数返回EOF
五、参数解释:
const char *str:
这是要分割的字符串;
const char *format:
这是 C 字符串,包含了要被写⼊到流 stream 中的⽂本。它可以包含嵌⼊的 format 标签,format 标签可被随后
的附加参数中指定的值替换,并按需求进⾏格式化。format 标签属性是 %[flags][width][.precision][length]specifier,具
体解释如 ‘额外注解’ 中;
六、额外注解:
附加参数 – 这个函数接受一系列的指针作为附加参数,每一个指针都指向一个对象,对象类型由 format 字符串中相应的 % 标签指定,参数与 % 标签的顺序相同。
针对检索数据的 format 字符串中的每个 format 说明符,应指定一个附加参数。如果您想要把 sscanf 操作的结果存储在一个普通的变量中,您应该在标识符前放置引用运算符(&),例如:
int n;
sscanf (str,"%d",&n);
七、举例:
#include <stdio.h>
int main(){
char name_age[] = "XingMing 27";
char name[8] = {'\0'};
int age = 0;
sscanf(name_age,"%s %d\n",name,&age);
printf("name: %s age: %d\n",name,age);
return 0;
}
输出结果:name: XingMing age: 27