Man page - memrchr(3)

Packages contains this manual

Available languages:

en fr pl ja ro de

Manual

MEMCHR

名 前
書 式
説 明
返 り 値
バ ー ジ ョ ン
属 性
準 拠
関 連 項 目
こ の 文 書 に つ い て

名 前

memchr, memrchr, rawmemchr - 文 字 を 探 す た め に メ モ リ ー を ス キ ャ ン す る

書 式

#include <string.h>

void *memchr(const void * s , int c , size_t n );

void *memrchr(const void * s , int c , size_t n );

void *rawmemchr(const void * s , int c );

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

memrchr (): rawmemchr (): _GNU_SOURCE

説 明

memchr () 関 数 は 、 ポ イ ン タ ー s が 指 し 示 す メ モ リ ー 領 域 の 先 頭 の n バ イ ト か ら 最 初 に 登 場 す る 文 字 c を 探 す 。 c s が 指 し 示 す メ モ リ ー 領 域 の 各 バ イ ト は 両 方 と も unsigned char と 解 釈 さ れ る 。

memrchr () 関 数 は memchr () 関 数 に 似 て い る が 、 先 頭 か ら 順 方 向 に 探 す の で は な く 、 ポ イ ン タ ー s が 指 し 示 す n バ イ ト の メ モ リ ー ブ ロ ッ ク の 末 尾 か ら 逆 向 き に 探 す 。

rawmemchr () 関 数 は memchr () と 同 様 だ が 、 c s が 指 す 場 所 か ら 始 ま る メ モ リ ー 領 域 の ど こ か に あ る こ と を 前 提 に し て (つ ま り 、 プ ロ グ ラ マ は そ の こ と を 知 っ て い る )、 最 適 化 し た 方 法 で c の 検 索 を 実 行 す る (す な わ ち 、 検 索 範 囲 の 上 限 を 示 す 引 数 も 使 用 さ れ な い )。 c が 見 つ か ら な か っ た 場 合 、 そ の 結 果 は ど う な る か 分 か ら な い 。 次 に 示 す 呼 び 出 し は 、 文 字 列 終 端 の ヌ ル バ イ ト の 位 置 を 特 定 す る 高 速 な 手 段 で あ る 。

char *p = rawmemchr(s, '\0');

返 り 値

memchr () 関 数 と memrchr () 関 数 は 一 致 す る 文 字 へ の ポ イ ン タ ー を 返 し 、 も し 文 字 が 指 定 メ モ リ ー 領 域 に 現 れ な い 場 合 は NULL を 返 す 。

rawmemchr () 関 数 は マ ッ チ す る バ イ ト が 見 つ か っ た 場 合 は マ ッ チ し た バ イ ト へ の ポ イ ン タ ー を 返 す 。 マ ッ チ す る バ イ ト が 見 つ か ら な か っ た 場 合 、 結 果 は 不 定 で あ る 。

バ ー ジ ョ ン

rawmemchr () は glibc バ ー ジ ョ ン 2.1 で 初 め て 登 場 し た 。

memrchr () は glibc バ ー ジ ョ ン 2.2 で 初 め て 登 場 し た 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-28937-1.png

準 拠

memchr (): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

memrchr () 関 数 は GNU 拡 張 で あ り 、 glibc 2.1.91 か ら 使 用 可 能 で あ る 。

rawmemchr () 関 数 は GNU 拡 張 で あ り 、 glibc 2.1 か ら 使 用 可 能 で あ る 。

関 連 項 目

bstring (3), ffs (3), index (3), memmem (3), rindex (3), strchr (3), strpbrk (3), strrchr (3), strsep (3), strspn (3), strstr (3), wmemchr (3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。