WCSTOK - Linux手册页
时间:2019-08-20 18:01:39 来源:igfitidea点击:
Linux程序员手册 第3部分
更新日期: 2020-06-09
名称
wcstok-将宽字符字符串拆分为令牌
语法
#include <wchar.h> wchar_t *wcstok(wchar_t *wcs, const wchar_t *delim, wchar_t **ptr);
说明
wcstok()函数与strtok(3)函数的宽字符等效,并带有附加参数以使其成为多线程安全的。它可用于将宽字符字符串wcs拆分为令牌,其中令牌被定义为不包含delim中任何宽字符的子字符串。
如果wcs不为NULL,则搜索从wcs开始;如果wcs为NULL,则搜索从* ptr开始。首先,将跳过所有定界符宽字符,即,将指针超前于delim中出现的任何宽字符。如果现在到达宽字符字符串的末尾,则wcstok()返回NULL,以指示未找到令牌,并将适当的值存储在* ptr中,以便后续对wcstok()的调用将继续返回NULL。否则,wcstok()函数会识别标记的开头并返回指向该标记的指针,但是在执行此操作之前,它会通过使用空的宽字符(Laq \ 0aq),并更新* ptr,以便随后的调用将在识别出的令牌结束后继续搜索。
返回值
wcstok()函数返回一个指向下一个标记的指针,如果找不到其他标记,则返回NULL。
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
wcstok() | Thread safety | MT-Safe |
遵循规范
POSIX.1-2001,POSIX.1-2008,C99。
备注
原始的wcs宽字符字符串在操作过程中被破坏性地修改。
示例
以下代码循环遍历宽字符字符串中包含的令牌。
wchar_t *wcs = ...; wchar_t *token; wchar_t *state; for (token = wcstok(wcs, " \t\n", &state); token != NULL; token = wcstok(NULL, " \t\n", &state)) { ... }
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。