sscanf
函数 <cstdio>
int sscanf ( const char * s, const char * format, ...);
从字符串读取格式化的数据
从s读取数据并根据参数格式将它们存储到附加参数给出的位置,就像使用了
scanf一样,
但是从s而不是标准输入(
stdin)读取数据。
附加参数应该指向已经分配的对象,该对象的类型由格式字符串中相应的格式说明符指定。
☲ 参数
s
函数处理的C字符串,作为检索数据的源。
format
C字符串,它包含一个格式字符串,该格式字符串遵循与
scanf格式相同的规范(详情请参阅
scanf)。
... (additional arguments)
根据格式字符串的不同,函数可能需要一个附加参数序列,每个参数包含一个指针,
该指针指向分配的存储空间,在该存储空间中,对提取出来的字符的解释将以相应的类型存储。
这些参数的数量至少应该与格式说明符存储的值的数量一样多。其他参数被函数忽略。
☉ 返回值
如果成功,函数将返回已成功填充的参数列表中的项数。在匹配失败的情况下,
该计数可以匹配预期的项数,或者更少(甚至为零)。
如果在成功解释任何数据之前出现输入失败,则返回
EOF。
☣ 示例
/* sscanf example */
#include <stdio.h>
int main ()
{
char sentence []="Rudolph is 12 years old";
char str [20];
int i;
sscanf (sentence,"%s %*s %d",str,&i);
printf ("%s -> %d\n",str,i);
return 0;
}
|
输出:
🍄 另请参阅
scanf |
从stdin读取格式化的数据(function ) |
sprintf |
将格式化的数据写入字符串(function ) |