名前


strsep - 文字列からトークンを取り出す

書式


#include <string.h>

char *strsep(char **stringp, const char *delim);

説明


*stringp が NULL の場合、 strsep() 関数は何もせずに NULL を返す。 さもなければ、文字列 stringp から 文字列 delim に含まれる文字で区切られた トークンのうち最初のものを返す。 トークンは (区切り文字を上書きすることによって)’\0’ 文字で終端され、 *stringp は切り出されたトークンの次の位置を示すように更新される。 デリミタが見つからない場合、*stringp 文字列全体がトークンとして 扱われ、*stringp は NULL となる。

返り値


strsep() 関数は、トークンへのポインタを返す。 つまり、元の *stringp の値を返す。

準拠


4.4BSD

注意


strsep() 関数は、 strtok(3) 関数が空のフィールドを 扱えないために、その代替品として導入された。 しかしながら、 strtok(3) 関数は C89/C99 に準拠しており、より移植性がある。

バグ


この関数は strtok(3) と同じ問題を抱えている。 特に、この関数は元の文字列を書き換えてしまう。使わないこと。

関連項目


index(3), memchr(3), rindex(3), strchr(3), strpbrk(3), strspn(3), strstr(3), strtok(3)

openSUSE Logo

コンテンツ