BohYoh.comトップページへ  wcstok
C言語 標準ライブラリ アルファベット順索引 ヘッダ別索引 ホームページへ C言語講座のページ

ワイド文字列探索関数
wcstok
ヘッダ #include <wchar.h>
形 式 wchar_t *wcstok(wchar_t *s1, const wchar_t *s2, wchar_t **ptr);
機 能 s1が指すワイド文字列を、s2が指すワイド文字列の中のいずれかの文字で区切られる文字の並びへと、一連の呼出しによって分割する。呼び出し側が準備する3番目の実引数は、走査を続けるために必要な情報を格納するwchar_t型へのポインタを指す。
最初の呼出しでは、s1はワイド文字列を指していなければならず、同じワイド文字列に対する続く呼出しでは、s1は空ポインタでなければならない。s1が空ポインタの場合、ptrが指すポインタは、同じワイド文字列に対する以前の呼出しで格納された値でなければならない。s1が空ポインタでない場合、ptrが指すポインタの値は無視する。s2が指す区切りワイド文字列は、呼出しのたびに異なっていてもよい。
一連の呼出しの最初の呼出しでは、s2が指す区切りワイド文字列に含まれない最初のワイド文字を、s1が指すワイド文字列中から捜す。そのようなワイド文字が見つからない場合、s1が指すワイド文字列には字句が存在しないとみなし、wcstok関数は空ポインタを返す。そのようなワイド文字が見つかった場合、それを最初の字句の始まりとする。
次に、見つかったワイド文字の位置からその時の区切りワイド文字列に含まれているワイド文字を捜す。そのようなワイド文字が見つからない場合、s1が指すワイド文字列の最後までをその時の字句とみなす(同じワイド文字列に対してもう一度wcstok関数を呼び出すと、空ポインタが返る)。そのようなワイド文字が見つかった場合、そのワイド文字をナルワイド文字で書き換え、その時の字句の終わりとする。
すべての場合において、wcstok関数はs1に空ポインタおよびptrに変更していないポインタの値を与えて呼び出したときに、ナルワイド文字で書き換えられた要素の直後から探索を始めるのに十分な情報を、ptrが指すポインタに格納する。
返却値 区切られた字句の並びの最初のワイド文字へのポインタを返す。存在しない場合は、空ポインタを返す。


BohYoh.comトップページへ