strnicmp
函数名: strnicmp
功 能: 比较字符串str1和str2的前n个字符串字典序的大小,但是不区分字母大小写。
比较是这样进行的,先比较2个字符串的第1个字符字典序的大小,如果能比较出大小,则马上返回了,如果不能区别大小,开始比较第2个,如果这时第1个字符串已经到尽头了,第2个字符串还有字符,这时算第2个字符串大。例:
char *str1="B";
char *str2="abcD";
int n=4;
strnicmp(char *str1, char *str2, 4);
结果是str1大,因为B在a的后面。
char *str1="ABCD";
char *str2="abcD";
int n=4;
strnicmp(char *str1, char *str2, 4);
结果一样大。
char *str1="abc";
char *str2="abcD";
int n=5;
strnicmp(char *str1, char *str2, 5);
结果是str2大。
可以把上述数据,填到下面程序中一试便知道。
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
程序例:
#include <string.h>
#include <stdio.h>
int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int ptr;
ptr = strnicmp(buf2, buf1, 3);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");
if (ptr == 0)
printf("buffer 2 equals buffer 1\n");
return 0;
}