MEMCHR(3) | Linux Programmer's Manual | MEMCHR(3) |
名前
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 が見つからなかった場合、その結果はどうなるか分からない。次に示す呼び出しは、文字列終端の NULL バイトの位置を特定する高速な手段である。
char *p = rawmemchr(s, '\0');
返り値
memchr() 関数と memrchr() 関数は一致する文字へのポインタを返し、もし文字が指定メモリ領域に現れない場合は NULL を返す。バージョン
rawmemchr() は glibc バージョン 2.1 で初めて登場した。準拠
memchr() 関数は SVr4, 4.3BSD, C89, C99, POSIX.1-2001 に準拠する。関連項目
ffs(3), index(3), rindex(3), strchr(3), strpbrk(3), strrchr(3), strsep(3), strspn(3), strstr(3), wmemchr(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2012-04-23 |