C言語の標準ライブラリstrtokのリファレンスです。
概要 | 文字列を区切り文字で分割する。 |
ヘッダ | #include <string.h> |
I/F | char *strtok(char * restrict s1, const char * restrict s2); |
戻り値 | 字句の最初の文字へのポインタ。字句が存在しない場合は空ポインタ。 |
詳細 | strtok関数は、繰り返し呼び出すことにより、文字列s1を、文字列s2の中のいずれかの文字で区切られる字句の列に分割する。strtok関数の最初の呼び出しではs1に空ポインタ以外を指定する。2回目以降の呼出しではs1にはNULLを指定する必要がある。s2が指す区切り文字列は、呼出しごとに異なっていてもよい。 strtok関数は、まず、s2が指す区切り文字列に含まれない最初の文字がs1の中に存在するかを調べる。その文字が見つかった場合は、それを最初の字句の始まりとする。その文字が見つからなかった場合、strtok関数は空ポインタを返却し、処理を終了する。 そして、見つかった文字の位置から区切り文字列に含まれている文字を探す。その文字が見つかった場合、その文字をナル文字で書き換え、その字句を終結させる。その文字が見つからなかった場合、その字句を文字列s1の最後までとみなし、次回以降の検索では空ポインタを返却する。 2回目以降の呼出しでは、保持したポインタが指すところから探索を開始する以外は上記と同じ動作である。 |