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

swscanf

函数   <cwchar>

int swscanf (const wchar_t* ws, const wchar_t* format, ...);

从字符串读取格式化的数据

从宽字符串ws读取数据,并根据参数格式将它们存储到附加参数给出的位置, 就像使用了wscanf 一样,但是从ws而不是标准输入(stdin)读取数据。
附加参数应该指向已经分配的对象,该对象的类型由格式字符串中相应的格式说明符指定。

这相当于sscanf (<cstdio>)的宽字符版本。

☲  参数


ws
C宽字符串,函数将其作为源处理以检索数据。

format
C宽字符串,包含一个格式字符串,该格式字符串遵循与scanf格式相同的规范 (有关详细信息,请参阅scanf)。

注意,所有格式说明符都具有与scanf相同的含义;因此, %lc用于宽字符(而不是%c),以及%ls用于宽字符串(而不是%s)。

... (附加参数)
根据格式字符串的不同,函数可能需要一个附加参数序列,每个参数包含一个指针, 该指针指向分配的存储空间,在该存储空间中,对提取出来的字符的解释将以相应的类型存储。

这些参数的数量至少应该与格式说明符中指定的值的数量一样多。其他参数被函数忽略。

☉  返回值



成功时,函数返回参数列表中已成功填充的项数。 此计数可以与预期的项目数匹配,或者在匹配失败的情况下,此计数可以小于-甚至为零。
如果在成功解释任何数据之前出现输入失败,则返回EOF。

☣  示例



/* swscanf example */
#include <wchar.h>

int main ()
{
  wchar_t sentence [] = L"Michael is 10 years old";
  wchar_t str [20];
  int i;

  swscanf (sentence,L"%ls %*s %d",str,&i);
  wprintf (L"%ls -> %d\n",str,i);

  return 0;
}

输出:
Michael -> 10

🍄  另请参阅



wscanf 从stdin读取格式化的数据(function )
swprintf 将格式化的数据写入宽字符串(function )
sscanf 从字符串读取格式化的数据(function )

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