WCSTOK

Section: Linux Programmer's Manual (3)
Updated: 2020-06-09
Index JM Home Page
 

名前

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 を返して トークンが全く見つからなかったことを示し、この後に wcstok() を呼び 出しても NULL が返されるように *ptr に適切な値を設定する。それ 以外の場合には、 wcstok() 関数はトークンの先頭を識別し、これを指す ポインターを返す。ただしこれを行う前に、トークンの後にある、delim に含まれている文字をヌルワイド文字 (L'\0') に置き換えること によってトークンを 0 で終端させる。さらに *ptr を更新し、後で wcstok() を呼び出した 際に、識別されたトークンの続きから検索できるようにする。  

返り値

wcstok() 関数は次のトークンへのポインターを返す。トークンが見つから なければ NULL を返す。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
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)) {
    ... }  

関連項目

strtok(3), wcschr(3)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

トークン   ワイド   wchar   wcstok   token   ポインター   state   開始   識別   分割   マルチスレッド   セーフ   分解   列挙   区切り   スキップ   ヌルワイド   終端   続き   用語   allbox   インターフェース   属性   Thread   safety

Linux マニュアル 一覧

関連するコマンド・関数

netrc.5   wcsspn.3   wcscmp.3   wcscspn.3   wmemcmp.3   wcpncpy.3
 

Index

名前
書式
説明
返り値
属性
準拠
注意
例
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:09 GMT, October 11, 2026