C庫函數(shù) int memcmp(const void *str1, const void *str2, size_t n)) 的前n個字節(jié)的內(nèi)存區(qū)域str1和存儲區(qū)str2中比較。
以下是memcmp() 函數(shù)的聲明。
int memcmp(const void *str1, const void *str2, size_t n)
str1 -- 這就是指針的內(nèi)存塊。
str2 -- 這就是指針的內(nèi)存塊。
n -- 這是要比較的字節(jié)數(shù)。
如果返回值<0,則表明str1小于str2
如果返回值,如果> 0,則表明str2小于str1
如果返回值= 0,則表明str1等于str2
下面的例子演示了如何使用 memcmp() 函數(shù)。
#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); }
讓我們編譯和運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:
str1 is less than str2