一、strcmp vs strncmp
1、strcmp
头文件:#include <string.h>
函数原型: int strcmp(const char *str1, const char *str2)
描述: 比较str1和str2的大小
参数:
str1 —— 待比较的第一个字符串
str2 —— 待比较的第二个字符串
返回值:
str1 > str2 返回值 > 0
str1 = str2 返回值 = 0
str1 < str2 返回值 < 0
2、strncmp
头文件: #include <string.h>
函数原型: int strncmp(const char *str1, const char *str2, size_t n)
描述: 比较str1和str2的大小,最多比较前n个字节
参数:
str1 —— 待比较的第一个字符串
str2 —— 待比较的第二个字符串
n —— 待比较的前n个字符
返回值:
str1 > str2 返回值 > 0
str1 = str2 返回值 = 0
str1 < str2 返回值 < 0
二、strcasecmp vs strncasecmp
strcasecmp和strncasecmp不是标准C,而是由POSIX扩展提供的系统函数
1、strcasecmp
头文件: #include <strings.h>
函数原型: int strcasecmp( const char *str1, const char *str2);
描述: 将每个字符转换为小写字母后,按字典顺序对其参数进行比较
参数:
str1 —— 待比较的第一个字符串
str2 —— 待比较的第二个字符串
返回值:
str1 > str2 返回值 > 0
str1 = str2 返回值 = 0
str1 < str2 返回值 < 0
2、strncasecmp
头文件: #include <strings.h>
函数原型: int strncasecmp( const char *str1, const char *str2, size_t n);
描述: 将每个字符转换为小写字母后,按字典顺序对其参数进行比较,最多比较前n个字节
参数:
str1 —— 待比较的第一个字符串
str2 —— 待比较的第二个字符串
n —— 待比较的前n个字符
返回值:
str1 > str2 返回值 > 0
str1 = str2 返回值 = 0
str1 < str2 返回值 < 0