memcmp() - C語言庫函式


C庫函式 int memcmp(const void *str1, const void *str2, size_t n)) 的前n個位元組的記憶體區域str1和儲存區str2中比較。

宣告

以下是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("str1 is less than str2");
   }
   else if(ret < 0) 
   {
      printf("str2 is less than str1");
   }
   else 
   {
      printf("str1 is equal to str2");
   }
   
   return(0);
}

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

str1 is less than str2