名 前
strsep − 文 字 列 か ら ト ー ク ン を 取 り 出 す
書 式
#include <string.h>
char *strsep(char **stringp, const char *delim);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
strsep(): _BSD_SOURCE
説 明
*stringp が NULL の 場 合 、 strsep() 関 数 は 何 も せ ず に NULL を 返 す 。 さ も な け れ ば 、 文 字 列 stringp を delim に 含 ま れ る い ず れ か の バ イ ト で 区 切 っ た ト ー ク ン の う ち 最 初 の も の を 返 す 。 ト ー ク ン は 、 区 切 り 文 字 を ヌ ル バ イ ト ('\0') で 上 書 き す る こ と で 終 端 さ れ る 。 *stringp は 切 り 出 さ れ た ト ー ク ン の 次 の 位 置 を 示 す よ う に 更 新 さ れ る 。 区 切 り 文 字 が 見 つ か ら な い 場 合 、 *stringp 文 字 列 全 体 が ト ー ク ン と し て 扱 わ れ 、 *stringp は NULL と な る 。
返 り 値
strsep() 関 数 は 、 ト ー ク ン へ の ポ イ ン タ ー を 返 す 。 つ ま り 、 元 の *stringp の 値 を 返 す 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )
strsep() 関 数 は ス レ ッ ド セ ー フ で あ る 。
準 拠
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 プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。