名前
strsep - 文字列からトークンを取り出す書式
#include <string.h>
char *strsep(char **stringp, const char *delim);
glibc
向けの機能検査マクロの要件
( feature_test_macros(7) 参照):
strsep():
glibc 2.19 以降:
_DEFAULT_SOURCE
glibc 2.19 以前:
_BSD_SOURCE
説明
*stringp が NULL の場合、 strsep() 関数は何もせずに NULL を返す。 さもなければ、文字列 stringp を delim に含まれるいずれかのバイトで区切ったトークンのうち最初のものを返す。 トークンは、区切り文字をヌルバイト ('\0') で上書きすることで 終端される。 *stringp は切り出されたトークンの次の位置を示すように更新される。 区切り文字が見つからない場合、 *stringp 文字列全体がトークンとして 扱われ、 *stringp は NULL となる。返り値
strsep() 関数は、トークンへのポインターを返す。 つまり、元の *stringp の値を返す。属性
この節で使用されている用語の説明については、 attributes(7) を参照。インターフェース | 属性 | 値 |
strsep() | Thread safety | MT-Safe |
準拠
4.4BSD.注意
strsep() 関数は、 strtok(3) 関数が空のフィールドを 扱えないために、その代替品として導入された。 しかしながら、 strtok(3) 関数は C89/C99 に準拠しており、より移植性がある。バグ
この関数を使う時は注意すること。 もし使うなら、以下のことに注意すること。- *
- この関数は最初の引数を変更する。
- *
- この関数は定数文字列には使えない。
- *
- 区切り文字自体は失われてしまう。
関連項目
index(3), memchr(3), rindex(3), strchr(3), string(3), strpbrk(3), strspn(3), strstr(3), strtok(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。2019-03-06 | GNU |