这两类函数都是拿来比较字符串的,与Strcmp函数式不同的,因为Strcmp函数会比较大小写,而这两个函数是不区分大小写的。
首先介绍下 strcasecmp 函数:
strcasecmp
相关函数 bcmp,memcmp,strcmp,strcoll,strncmp
定义函数 int strcasecmp (const char *s1, const char *s2);
函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。
返回值 若参数s1和s2字符串相等则返回0。s1大于s2则返回大于0 的值,s1 小于s2 则返回小于0的值
#include <string.h>
main()
{
char *a="aBcDeF";
char *b="AbCdEf";
if(!strcasecmp(a,b))
printf("%s=%s\n",a,b);
}
那么结果将是执行
aBcDeF=AbCdEf
strncasecmp
表头文件:#include <string.h>
函数
定义:int strncasecmp(const char *s1, const char *s2, size_t n)
函数
说明:strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。
返回值 :若参数s1和s2字符串相同,则返回0; 若s1大于s2,则返回大于0的值; 若s1小于s2,则返回小于0的值
不过这个函数只有 linux 提供。