MEMCMP

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

memcmp - メモリー領域を比較する  

書式

#include <string.h>

int memcmp(const void *s1, const void *s2, size_t n);
 

説明

memcmp() 関数は、メモリー領域 s1 とs2 の最初の n バイトを比較する (各バイトは unsigned char として解釈される)。  

返り値

memcmp() 関数は、s1 の最初の n バイトが s2 の最初の n バイトよりも 小さいか、同じか、あるいは大きいかによってそれぞれ、負の整数、0、 正の整数を返す。

0 でない値の場合、 s1 と s2 で値が異なった最初のバイトの値の差で符号は決定される (バイトは unsigned char で解釈される)。

n が 0 の場合、返り値は 0 となる。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
memcmp() Thread safety MT-Safe
 

準拠

POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.  

注意

暗号化された秘密などセキュリティ的に重要なデータの比較には memcmp() を使用しないこと。 必要な CPU 時間は値が等しいバイトの量に依存するからである。 その代わり、 一定時間で比較を実行する関数が必要である。 いくつかのオペレーティングシステムでは (例えば NetBSD の consttime_memequal() などの) 関数が提供されているが、 このような関数は POSIX では規定されていない。 Linux では、 このような関数自体を実装する必要があるかもしれない。  

関連項目

bcmp(3), bstring(3), strcasecmp(3), strcmp(3), strcoll(3), strncasecmp(3), strncmp(3), wmemcmp(3)  

この文書について

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

関連キーワード

バイト   最初   memcmp   メモリー   領域   解釈   整数   size   符号   決定   返り値   用語   allbox   インターフェース   属性   Thread   safety   暗号化   秘密   セキュリティ   時間   依存   一定時間   オペレーティングシステム   NetBSD

Linux マニュアル 一覧

関連するコマンド・関数

strpbrk.3   cmp.1   memchr.3   memrchr.3   rawmemchr.3   strcspn.3
 

Index

名前
書式
説明
返り値
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:22 GMT, October 11, 2026