名 前
strchr, strrchr, strchrnul − 文 字 列 中 の 文 字 の 位 置 を 特 定 す る
書 式
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
#define
_GNU_SOURCE /* feature_test_macros(7) 参 照
*/
#include <string.h>
char *strchrnul(const char *s, int c);
説 明
strchr() 関 数 は 、 文 字 列 s 中 に 最 初 に 文 字 c が 現 れ た 位 置 へ の ポ イ ン タ ー を 返 す 。
strrchr() 関 数 は 、 文 字 列 s 中 に 最 後 に 文 字 c が 現 れ た 位 置 へ の ポ イ ン タ ー を 返 す 。
strchrnul() 関 数 は strchr() と 同 様 だ が 、 c が s 中 に 見 つ か ら な か っ た 場 合 に 、 返 り 値 と し て NULL で な く 、 s の 末 尾 の ヌ ル バ イ ト へ の ポ イ ン タ ー を 返 す 点 が 異 な る 。 こ こ で い う 「 文 字 」 は 「 バ イ ト 」 の 意 味 な の で 、 こ れ ら の 関 数 は ワ イ ド 文 字 や マ ル チ バ イ ト 文 字 で は 動 作 し な い 。
返 り 値
strchr() と strrchr() 関 数 は 一 致 し た 文 字 へ の ポ イ ン タ ー を 返 し 、 も し 文 字 が 見 つ か ら な い 場 合 は NULL を 返 す 。 終 端 の ヌ ル バ イ ト は 文 字 列 の 一 部 と み な さ れ 、 c に '\0' が 指 定 さ れ た 場 合 に は 、 こ れ ら の 関 数 は 終 端 の ヌ ル バ イ ト へ の ポ イ ン タ ー を 返 す 。
strchrnul() 関 数 は 一 致 し た 文 字 へ の ポ イ ン タ ー を 返 す 。 文 字 が 見 つ か ら な い 場 合 は 、 s の 末 尾 の ヌ ル バ イ ト へ の ポ イ ン タ ー (つ ま り s+strlen(s)) を 返 す 。
バ ー ジ ョ ン
strchrnul() は glibc バ ー ジ ョ ン 2.1.1 で 初 め て 登 場 し た 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 strchr(), strrchr(), strchrnul() は ス レ ッ ド セ ー フ で あ る 。
準 拠
strchr() と strrchr() は SVr4, 4.3BSD, C89, C99 に 準 拠 し て い る 。 strchrnul() は GNU 拡 張 で あ る 。
関 連 項 目
index(3), memchr(3), rindex(3), string(3), strlen(3), strpbrk(3), strsep(3), strspn(3), strstr(3), strtok(3), wcschr(3), wcsrchr(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。