Home C&C++函数库 c++ 语法 程序源码 Linux C库

vsscanf

函数  <cstdio>

int vsscanf ( const char * s, const char * format, va_list arg );

从字符串中读取格式化的数据到变量参数列表中

从s中读取数据,并根据参数格式将数据存储到由arg标识的变量参数列表中的元素所指向的位置中。

在内部,函数从arg标识的列表中检索参数,就像在它上面使用了va_arg一样,因此arg的状态很可能会被调用改变。

在任何情况下,arg都应该在调用之前的某个点被va_start初始化,并且它应该在调用之后的某个点被va_end释放。

☲  参数



s
函数处理的C字符串,作为检索数据的源。

format
C字符串,它包含一个格式字符串,该格式字符串遵循与scanf格式相同的规范(详情请参阅scanf)。

arg
一个值,标识用va_start初始化的变量参数列表。
Va_list是<cstdarg>中定义的特殊类型。

☉  返回值



如果成功,函数将返回已成功填充的参数列表中的项数。在匹配失败的情况下, 该计数可以匹配预期的项目数量,或者更少(甚至为零)。

如果在成功解释任何数据之前出现输入失败,则返回EOF

☣  示例



/* vsscanf example */
#include <stdio.h>
#include <stdarg.h>

void GetMatches ( const char * str, const char * format, ... )
{
  va_list args;
  va_start (args, format);
  vsscanf (str, format, args);
  va_end (args);
}

int main ()
{
  int val;
  char buf[100];

  GetMatches ( "99 bottles of beer on the wall", " %d %s ", &val, buf);

  printf ("Product: %s\nQuantity: %d\n", buf, val);

  return 0;
}

输出:
Product: bottles
Quantity: 99


🍄  另请参阅



scanf 从stdin读取格式化的数据(function )
vfscanf 从流中读取格式化的数据到变量参数列表中(function )
sscanf 从字符串读取格式化的数据(function )
fscanf 从流读取格式化的数据(function )

联系我们 免责声明 关于CandCplus 网站地图