当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 swscanf用法及代码示例


C语言wchar头文件(wchar.h)中swscanf函数的用法及代码示例。

用法:

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)。
... (additional arguments)
取决于格式字符串,函数可能需要一系列附加参数,每个参数都包含一个指向分配存储的指针,在该存储中,提取的字符的解释将以适当的类型存储。
这些参数至少应与参数存储的值数量一样多。格式说明符。该函数将忽略其他参数。

返回值

成功后,函数将返回参数列表中已成功填充的项目数。在匹配失败的情况下,此计数可以匹配预期的项目数,或者小于甚至为零。
如果输入失败,则无法成功解释任何数据,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

相关用法


注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C swscanf function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。