(standard c libraries translation )strcmp家族

strcmp, strncmp - compare two strings
strcmp,strncmp-比较两个字符串

所需头文件
#include <string.h>
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);

The  strcmp()  function  compares  the  two strings s1 and s2.  It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2.
The strncmp() function is similar, except it only compares the first (at most) n bytes of s1 and s2.
strcmp()函数比较s1和s2两个字符串,返回一个整数小于,等于,大于0,如果s1是逐个小于,等于,大于s2的。
strncmp()函数类似,不过只比较s1和s2的前n个字节


strcasecmp, strncasecmp - compare two strings ignoring case
strcasecmp,strncasecmp-忽略大小写比较两个字符串

所需头文件
#include <strings.h>
int strcasecmp(const char *s1, const char *s2);
int strncasecmp(const char *s1, const char *s2, size_t n);

The  strcasecmp()  function  compares  the  two  strings s1 and s2, ignoring the case of the characters.  It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2.
The strncasecmp() function is similar, except it only compares the first n bytes of s1.
strcasecmp()函数比较s1和s2两个字符串,忽略字符的大小写,返回小于,等于,大于0,如果s1是逐个小于,等于,大于s2的。

strncasecmp()函数类似,不过只比较s1和s2的前n个字节


testcase如下:

#include <stdio.h>
#include <string.h>

int main(void)
{
	int ret;
	char *s1 = "abcxx";
	char *s2 = "abCyy";

	ret = strcmp(s1, s2);
	printf("ret = %d\n", ret);

	ret = strncmp(s1, s2, 2);
	printf("ret = %d\n", ret);

	ret = strcasecmp(s1, s2);
	printf("ret = %d\n", ret);

	ret = strncasecmp(s1, s2, 3);
	printf("ret = %d\n", ret);
	return 0;
}

测试结果如下:

cheny.le@cheny-ThinkPad-T420:~/cheny/testCode$ ./a.out
ret = 32
ret = 0
ret = -1
ret = 0

因为c比C的ascii码要大32,所以第一个结果是32,另外x要比y小1,所以第三个结果是-1,定义里面的respectively决定了返回值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值