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


C语言 wcstok用法及代码示例


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

用法:

wchar_t* wcstok (wchar_t* wcs, const wchar_t* delimiters, wchar_t** p);
将宽字符串拆分为令牌
对该函数的一系列调用splitwcs代币,这些代币是连续的宽字符序列,这些序列由作为定界符

第一次调用时,该函数需要一个C宽的字符串作为参数wcs,其第一个字符用作扫描令牌的起始位置。在随后的调用中,该函数需要一个空指针,并使用最后一个标记结束后的位置作为扫描的新起始位置。

这是宽字符等价于strtok(<cstdlib>),并以类似的方式运行(请参见strtok有关更多详细信息),但请注意,与strtok,此函数使用一个附加参数,该参数中存储了令牌化过程的状态。

参数

wcs
要截断的C宽字符串。
请注意,该字符串的内容已被修改并分解为较小的字符串(令牌)。
或者,可以指定一个空指针,在这种情况下,函数将继续扫描,而先前对函数的成功调用结束了。这需要第三个参数(p)与上一个调用中的相同。
delimiters
包含定界符宽字符的C宽字符串。
这些可能因一个调用而异。
p
指向一个指针wchar_t指针。该函数使用它来存储类型的值wchar_t*具有当前标记化序列的状态。该相同的指针应传递给对该函数的后续调用,以标记宽字符串的其余部分。

返回值

指向宽字符串中找到的最后一个标记的指针。
如果没有要检索的令牌,则返回一个空指针。

示例

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

int main ()
{
  wchar_t wcs[] = L"- This, a sample string.";
  wchar_t * pwc;
  wchar_t * pt;
  wprintf (L"Splitting wide string \"%ls\" into tokens:\n",wcs);
  pwc = wcstok (wcs, L" ,.-", &pt);
  while (pwc != NULL)
  {
    wprintf (L"%ls\n",pwc);
    pwc = wcstok (NULL, L" ,.-", &pt);
  }
  return 0;
}


输出:

Splitting wide string "- This, a sample string." into tokens:
This
a
sample
string


相关用法


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