strtok
文字列を区切り文字で分割します.
char *strtok(
char * restrict s1,
const char * restrict s2
);
strtok 関数は s1 が指す文字列を,s2 が指す文字列の中のいずれかの文字で区切られる字句の列に分割します.
strtok 関数の一連の動作は以下の通りです.
- s2 が指す区切り文字列に含まれない最初の文字が s1 が指す文字列中に存在するかを調べます.
- その文字が見つかった場合,それを最初の字句の始まりとします.
- その文字が見つからなかった場合,strtok 関数は空ポインタ(NULL) を返して終了します.
- 見つかった文字の位置から区切り文字列に含まれている文字を探します.
- その文字が見つかった場合,その文字を '\0' で書き換え,その時点の字句を終了させます.
- その文字が見つからなかった場合,その時点の字句を s1 が指す文字列の最後までとみなします.(次回以降の検索では空ポインタを返します)
- 2 回目以降の呼出しでは,保持したポインタが指すところから探索を開始する以外は上記と同じ動作をします.(2 回目以降の呼出しでは第 1 引数 s1 に NULL を指定するようにしてください.)
戻り値
- 字句が存在するとき: 字句の最初の文字へのポインタ
- 字句が存在しないとき: 空ポインタ
C言語サンプルプログラム
文字列を指定文字で分割する のサンプルプログラムをご覧下さい.
スポンサー
C言語関数辞典 サイト内検索
C言語Tips集
リンク