C-standard-library-c-function-memcmp

提供:Dev Guides
移動先:案内検索

Cライブラリ関数-memcmp()

説明

Cライブラリ関数 int memcmp(const void str1、const void * str2、size_t n))は、メモリ領域 *str1 とメモリ領域 str2 の最初の n バイトを比較します。

宣言

memcmp()関数の宣言は次のとおりです。

int memcmp(const void *str1, const void *str2, size_t n)

パラメーター

  • str1 -これはメモリブロックへのポインタです。
  • str2 -これはメモリブロックへのポインタです。
  • n -これは比較されるバイト数です。

戻り値

  • 戻り値<0の場合、str1がstr2より小さいことを示します。
  • 戻り値> 0の場合、str2がstr1より小さいことを示します。
  • 戻り値= 0の場合、str1がstr2と等しいことを示します。

次の例は、memcmp()関数の使用法を示しています。

#include <stdio.h>
#include <string.h>

int main () {
   char str1[15];
   char str2[15];
   int ret;

   memcpy(str1, "abcdef", 6);
   memcpy(str2, "ABCDEF", 6);

   ret = memcmp(str1, str2, 5);

   if(ret > 0) {
      printf("str2 is less than str1");
   } else if(ret < 0) {
      printf("str1 is less than str2");
   } else {
      printf("str1 is equal to str2");
   }

   return(0);
}

次の結果を生成する上記のプログラムをコンパイルして実行しましょう-

str2 is less than str1