wcstok

ワイド文字列 (wide string) を区切りワイド文字で分割します.

#include <wchar.h>
wchar_t *wcstok (
    wchar_t * restrict s1,
    const wchar_t * restrict s2, /* 区切り文字列 */
    wchar_t ** restrict ptr
);

wcstok 関数は s1 が指すワイド文字列を,s2 が指すワイド文字列の中のいずれかのワイド文字 (wide character) で区切られる字句の列に分割します.ptr には wcstok 関数が同じワイド文字列を走査し続けるために必要な情報を格納されます.

wcstok 関数の一連の動作は以下の通りです.

  1. s2 が指す区切りワイド文字列に含まれない最初のワイド文字が,s1 が指すワイド文字列中に存在するかを調べます.
    1. そのワイド文字が見つかった場合,それを最初の字句の始まりとします.
    2. そのワイド文字が見つからなかった場合,wcstok 関数は空ポインタ(NULL) を返して終了します.
  2. 見つかったワイド文字の位置から区切りワイド文字列に含まれている文字を探します.
    1. そのワイド文字が見つかった場合,そのワイド文字ナルワイド文字 (null wide character) で書き換え,その時点の字句を終了させます.
    2. そのワイド文字が見つからなかった場合,その時点の字句を s1 が指すワイド文字列の最後までとみなします.(次回以降の検索では空ポインタを返します.)
  3. 2 回目以降の呼出しでは,保持したポインタが指すところから探索を開始する以外は上記と同じ動作をします.(2 回目以降の呼出しでは第 1 引数 s1 に NULL を指定するようにしてください.)

戻り値

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.