memcmp

提供: RAD Studio
移動先: 案内検索

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++

+

+

+

+