memcmp()函数用于:比较两个内存块
函数声明:int memcmp ( const void * ptr1, const void * ptr2, size_t num );
参数:
ptr1:指向内存块的指针。
ptr2:指向内存块的指针。
数字:要比较的字节数。
返回值:
<0:
在两个内存块中不匹配的第一个字节在 ptr1 中的值低于在 ptr2 中的值(如果计算为无符号 char 值)
0:
两个内存块的内容相等
>0:
在两个内存块中不匹配的第一个字节在 ptr1 中的值大于在 ptr2 中的值(如果计算为无符号字符值)头 文 件:#include
- /* memcmp example */
- #include
- #include
-
- 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不同,该函数在找到空字符后不会停止比较。