admin管理员组

文章数量:1794759

memcmp函数详解 看这一篇就够了

memcmp函数详解 看这一篇就够了

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>

用法示例 /* memcmp example */ #include <stdio.h> #include <string.h> int main () { char buffer1[] = "DWgaOtP12df0"; char buffer2[] = "DWGAOTP12DF0"; int n; n=memcmp ( buffer1, buffer2, sizeof(buffer1) ); if (n>0) printf ("'%s' is greater than '%s'.\\n",buffer1,buffer2); else if (n<0) printf ("'%s' is less than '%s'.\\n",buffer1,buffer2); else printf ("'%s' is the same as '%s'.\\n",buffer1,buffer2); return 0; }

 

 函数解释

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

本文标签: 这一详解函数就够了memcmp