memcmp
mem.h:インデックス への移動
ヘッダーファイル
mem.h,string.h
カテゴリ
メモリおよび文字列操作ルーチン,インラインルーチン
プロトタイプ
int memcmp(const void *s1, const void *s2, size_t n);
説明
2 つのブロックをちょうど n バイトまで比較します。
memcmp は,UNIX System V システムで使用できます。
memcmp は,ブロック s1 と s2 の最初の n バイトを unsigned char 型の値として比較します。
戻り値
バイトを unsigned char 型の値として比較するため,memcmp は次の値を返します。
- s1 が s2 より小さい場合は,< 0
- s1 と s2 が同じ場合は,= 0
- s1 が s2 より大きい場合は,> 0
次に例を示します。
memcmp(“\xFF”, “\x7F”, 1)
この場合は,0 より大きな値が返されます。
メモ: これらの関数の組み込みバージョンを使用している場合は,n を 0 にすると,NULL が返されます。
例
#include <stdio.h>
#include <string.h>
int main(void)
{
char *buf1 = "aaa";
char *buf2 = "bbb";
char *buf3 = "ccc";
int stat;
stat = memcmp(buf2, buf1, strlen(buf2));
if (stat > 0)
printf("buffer 2 is greater than buffer 1\n");
else
printf("buffer 2 is less than buffer 1\n");
stat = memcmp(buf2, buf3, strlen(buf2));
if (stat > 0)
printf("buffer 2 is greater than buffer 3\n");
else
printf("buffer 2 is less than buffer 3\n");
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |