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)。

InterfaceAttributeValue
wcstok()Thread safetyMT-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)) {
    ...
}

另外参见

strtok(3),wcschr(3)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/