C 庫函數 - memcmp()

C 標準庫 - <string.h> C 標準庫 - <string.h>

描述

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 小於 str1");
   }
   else if(ret < 0)
   {
      printf("str1 小於 str2");
   }
   else
   {
      printf("str1 等於 str2");
   }

   return(0);
}

讓我們編譯並運行上面的程式,這將產生以下結果:

str2 小於 str1

C 標準庫 - <string.h> C 標準庫 - <string.h>