OSDN Git Service

8865c4232e871ff7e92942d6229654e3511666cd
[linuxjm/LDP_man-pages.git] / release / man3 / wcstok.3
1 .\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
2 .\"
3 .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
4 .\" This is free documentation; you can redistribute it and/or
5 .\" modify it under the terms of the GNU General Public License as
6 .\" published by the Free Software Foundation; either version 2 of
7 .\" the License, or (at your option) any later version.
8 .\" %%%LICENSE_END
9 .\"
10 .\" References consulted:
11 .\"   GNU glibc-2 source code and manual
12 .\"   Dinkumware C library reference http://www.dinkumware.com/
13 .\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
14 .\"   ISO/IEC 9899:1999
15 .\"
16 .\"*******************************************************************
17 .\"
18 .\" This file was generated with po4a. Translate the source file.
19 .\"
20 .\"*******************************************************************
21 .\"
22 .\" Translated Sat Oct 23 17:53:50 JST 1999
23 .\"           by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
24 .\"
25 .TH WCSTOK 3 2013\-11\-18 GNU "Linux Programmer's Manual"
26 .SH 名前
27 wcstok \- ワイド文字文字列をトークンに分割する
28 .SH 書式
29 .nf
30 \fB#include <wchar.h>\fP
31 .sp
32 \fBwchar_t *wcstok(wchar_t *\fP\fIwcs\fP\fB, const wchar_t *\fP\fIdelim\fP\fB, wchar_t **\fP\fIptr\fP\fB);\fP
33 .fi
34 .SH 説明
35 \fBwcstok\fP()  関数は、 \fBstrtok\fP(3)  関数に対応するワイド文字関数に、
36 マルチスレッドセーフの動作をさせるための引き数を追加したものである。 この関数を用いて、ワイド文字文字列 \fIwcs\fP をトークンに分解すること
37 ができる。ここで、トークンは \fIdelim\fP に列挙されている文字を含まな い部分文字列として定義される。
38 .PP
39 検索は \fIwcs\fP が NULL でなければ \fIwcs\fP から開始され、\fIwcs\fP が NULL ならば \fI*ptr\fP
40 から開始される。まず、全ての区切りワイド文字 がスキップされる。つまり、\fIdelim\fP に含まれるワイド文字を超えるよう にポインタが前に進められる。
41 ワイド文字文字列の終わりに達したら、 \fBwcstok\fP()  は NULL を返して トークンが全く見つからなかったことを示し、この後に
42 \fBwcstok\fP()  を呼び 出しても NULL が返されるように \fI*ptr\fP に適切な値を設定する。それ 以外の場合には、
43 \fBwcstok\fP()  関数はトークンの先頭を識別し、これを指す ポインタを返す。ただしこれを行う前に、トークンの後にある、\fIdelim\fP
44 に含まれている文字をヌルワイド文字 (L\(aq\e0\(aq) に置き換えること によってトークンを 0 で終端させる。さらに \fI*ptr\fP
45 を更新し、後で \fBwcstok\fP()  を呼び出した 際に、識別されたトークンの続きから検索できるようにする。
46 .SH 返り値
47 \fBwcstok\fP()  関数は次のトークンへのポインタを返す。トークンが見つから なければ NULL を返す。
48 .SH 属性
49 .SS "マルチスレッディング (pthreads(7) 参照)"
50 関数 \fBwcstok\fP() はスレッドセーフである。
51 .SH 準拠
52 C99.
53 .SH 注意
54 関数に与えたワイド文字列 \fIwcs\fP は、関数の動作によって完全に書き換 えられる。
55 .SH 例
56 以下のコードは、ワイド文字文字列に含まれるトークンを取り出しながら ループする。
57 .sp
58 .nf
59 wchar_t *wcs = ...;
60 wchar_t *token;
61 wchar_t *state;
62 for (token = wcstok(wcs, " \et\en", &state);
63     token != NULL;
64     token = wcstok(NULL, " \et\en", &state)) {
65     ...
66 }
67 .fi
68 .SH 関連項目
69 \fBstrtok\fP(3), \fBwcschr\fP(3)
70 .SH この文書について
71 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
72 である。プロジェクトの説明とバグ報告に関する情報は
73 http://www.kernel.org/doc/man\-pages/ に書かれている。