深圳幻海软件技术有限公司 欢迎您!

memcmp函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )

2023-03-31

memcmp()函数用于:比较两个内存块函数介绍函数声明:intmemcmp(constvoid*ptr1,constvoid*ptr2,size_tnum);参数:ptr1:指向内存块的指针。ptr2:指向内存块的指针。数字:要比较的字节数。返回值:<0:在两个内存块中不匹配的第一个字节在&

memcmp()函数用于:比较两个内存块

函数介绍

函数声明:int memcmp ( const void * ptr1, const void * ptr2, size_t num );

参数:

ptr1:指向内存块的指针。

ptr2:指向内存块的指针。

数字:要比较的字节数。

返回值:

<0:在两个内存块中不匹配的第一个字节在 ptr1 中的值低于在 ptr2 中的值(如果计算为无符号 char 值)

0:两个内存块的内容相等

>0:在两个内存块中不匹配的第一个字节在 ptr1 中的值大于在 ptr2 中的值(如果计算为无符号字符值)

头  文  件:#include <string.h>

用法示例

  1. /* memcmp example */
  2. #include <stdio.h>
  3. #include <string.h>
  4. int main ()
  5. {
  6. char buffer1[] = "DWgaOtP12df0";
  7. char buffer2[] = "DWGAOTP12DF0";
  8. int n;
  9. n=memcmp ( buffer1, buffer2, sizeof(buffer1) );
  10. if (n>0) printf ("'%s' is greater than '%s'.\n",buffer1,buffer2);
  11. else if (n<0) printf ("'%s' is less than '%s'.\n",buffer1,buffer2);
  12. else printf ("'%s' is the same as '%s'.\n",buffer1,buffer2);
  13. return 0;
  14. }

 

 函数解释

将 ptr1 所指向的内存块的前 num 个字节与 ptr2 指向的第一个字节进行比较,如果它们都匹配,则返回零,或者如果不匹配,则返回与零不同的值,表示哪个值更大。
请注意,与strcmp不同,该函数在找到空字符后不会停止比较。

文章知识点与官方知识档案匹配,可进一步学习相关知识
算法技能树首页概览42577 人正在系统学习中