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不同,该函数在找到空字符后不会停止比较。