名称
strcasecmp, strncasecmp - 比较两个字符串,不区分大小写
概要
#include <strings.h>
int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char *s1, const char *s2, size_t n);
说明
strcasecmp对字符串s1和s2执行逐字节比较,忽略字符的大小写。如果发现s1
小于、等于或大于s2,则它分别返回一个小于、等于或大于零的整数。
strncasecmp类似,只是它只比较s1的前n个字节。
返回值
如果发现s1(或其前n个字节)小于、等于或大于s2,则strcasecmp和strncasecmp
分别返回一个小于、等于或大于零的整数。
线程安全特征
接口 | 特征 | 值 |
strcasecmp(), strncasecmp() | 线程安全 | locale级别多线程安全 |
标准
遵循4.4BSD, POSIX.1-2001, POSIX.1-2008。
注意
strcasecmp()和strncasecmp()函数首次出现是在4.4BSD中,它们在<string.h>中声明。
然而,出于历史兼容性的原因,如果定义了_DEFAULT_SOURCE(或在glibc 2.19及
更早版本中定义了_BSD_SOURCE)功能测试宏,则glibc的<string.h>头文件中也会
声明这些函数。
POSIX.1-2008描述了这些函数:
当所使用的语言环境的LC_CTYPE类别来自POSIX语言环境时,这些函数的行
为就像字符串已经转换为小写,然后执行字节比较一样。否则,结果是未定义
的。
推荐阅读
bcmp,memcmp,strcmp,strcoll,string,strncmp,wcscasecmp,wcsncasecmp
版本记录
这个页面是Linux man-pages项目4.04版本的一部分。关于该项目的信息和bug报
道可以在该网站找到:http://www.kernel.org/doc/man-pages/。
2015-04-19