wcstokのヘルプ・マニュアル
日本語 英語
wcstok --help
man wcstok
WCSTOK(3) Linux Programmer’s Manual WCSTOK(3)
名前
wcstok - ワイド文字文字列をトークンに分割する
書式
#include
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 を返してトークン が
全 く 見つからなかったことを示し、この後に wcstok() を呼び出しても NULL
が返されるように *ptr に適切な値を設定する。それ以 外 の 場 合 に は 、
wcstok() 関数はトークンの先頭を識別し、これを指すポインタを返す。ただし
これを行う前に、トークンの後にある、delim に含まれている文字を L'\0' に
置き換えることによってトークンを 0 で終端させる。さらに *ptr を更新し、
後で wcstok() を呼び出した際に、識別されたトークンの続きから検索でき る
ようにする。
返り値
wcstok() 関数は次のトークンへのポインタを返す。トークンが見つからなけれ
ば NULL を返す。
準拠
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)
GNU 1999-07-25 WCSTOK(3)
WCSTOK(3) Linux Programmer’s Manual WCSTOK(3)
NAME
wcstok - split wide-character string into tokens
SYNOPSIS
#include
wchar_t *wcstok(wchar_t *wcs, const wchar_t *delim, wchar_t **ptr);
DESCRIPTION
The wcstok() function is the wide-character equivalent of the strtok(3)
function, with an added argument to make it multithread-safe. It can
be used to split a wide-character string wcs into tokens, where a token
is defined as a substring not containing any wide-characters from
delim.
The search starts at wcs, if wcs is not NULL, or at *ptr, if wcs is
NULL. First, any delimiter wide-characters are skipped, that is, the
pointer is advanced beyond any wide-characters which occur in delim.
If the end of the wide-character string is now reached, wcstok()
returns NULL, to indicate that no tokens were found, and stores an
appropriate value in *ptr, so that subsequent calls to wcstok() will
continue to return NULL. Otherwise, the wcstok() function recognizes
the beginning of a token and returns a pointer to it, but before doing
that, it zero-terminates the token by replacing the next wide-character
which occurs in delim with a L'\0' character, and it updates *ptr so
that subsequent calls will continue searching after the end of recog-
nized token.
RETURN VALUE
The wcstok() function returns a pointer to the next token, or NULL if
no further token was found.
CONFORMING TO
C99.
NOTES
The original wcs wide-character string is destructively modified during
the operation.
EXAMPLE
The following code loops over the tokens contained in a wide-character
string.
wchar_t *wcs = ...;
wchar_t *token;
wchar_t *state;
for (token = wcstok(wcs, " \t\n", &state);
token != NULL;
token = wcstok(NULL, " \t\n", &state)) {
...
}
SEE ALSO
strtok(3), wcschr(3)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU 1999-07-25 WCSTOK(3)