【函数重现】- strcasecmp 函数

函数重现系列导航


1. 函数简介

strcasecmp 函数为 C 库函数之一,用于字符串忽略字母大小写的比较。

  • 原型:int strcasecmp (const char* str1 ,const char* str2);
  • 所属头文件:<string.h>
  • 功能:比较 str1 指向的字符串和 str2 指向的字符串。两个字符串自左向右比较每个字符的 ASCII 值大小,且忽略英文字母的大小写。
  • 返回:最后 str1 指向的字符减去 str2 指向的字符得到的差值。

2. 函数说明

  • 既然为 strcasecmp 函数的重现,那么所重现的 strcasecmp 函数的基本功能、调用方法应与原库函数保持一致。
  • strcasecmp 较 strcmp 的唯一不同是忽略英文字母的大小写,其余原理相同。
  • 在工程中,strcasecmp 函数一般用于判断忽略大写的两字符串是否相等。

3. 函数重现

int strcasecmp(const char* str1, const char* str2)
{
	while (*str1 != '\0' && *str2 != '\0')
	{
		if (*str1 != *str2)
		{
			if (((*str1 > 'a' || *str1 < 'z') && (*str1 - *str2 == 'a' - 'A')) ||
				((*str1 > 'A' || *str1 < 'Z') && (*str2 - *str1 == 'a' - 'A')))
			{
				str1++;
				str2++;				
			}
			else
			{
				break;
			}
			
		}
		else
		{
			str1++;
			str2++;
		}
	}

	return *str1 - *str2;
}
发布了60 篇原创文章 · 获赞 36 · 访问量 5914

猜你喜欢

转载自blog.csdn.net/qq_35692077/article/details/103543367