Manpages

名 前

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

書 式

#include <string.h>

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

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):

strsep(): _BSD_SOURCE

説 明

*stringp が NULL の 場 合 、 strsep() 関 数 は 何 も せ ず に NULL を 返 す 。 さ も な け れ ば 、 文 字 列 stringpdelim に 含 ま れ る い ず れ か の バ イ ト で 区 切 っ た ト ー ク ン の う ち 最 初 の も の を 返 す 。 ト ー ク ン は 、 区 切 り 文 字 を ヌ ル バ イ ト ('\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/ に 書 か れ て い る 。