strupr与strlwr函数的实现

strupr函数用来将指向的字符串全部转换为大写的形式

strlwr函数则用来将指向的字符串全部转换为小写的形式

实现这样两个函数也比较简单

还是先贴代码出来

首先是strupr函数:

// 字符全部转换为大写
char* _strupr_d(char* src)
{
	while (*src != '\0')
	{
		if (*src >= 'a' && *src <= 'z')
			//在ASCII表里大写字符的值比对应小写字符的值小32.
			//*p -= 0x20; // 0x20的十进制就是32
			*src -= 32;
		src++;
	}
	return src;
}

这里面注释已经写得很清楚了,相应的,如果要转换成小写的,+=32就行了,下面是strlwr函数的实现:

// 字符全部转换为小写
char* _strlwr_d(char* src)
{
	while (*src != '\0')
	{
		if (*src > 'A' && *src <= 'Z'){
			//*src += 0x20; 
			*src += 32;
		}
		src++;
	}
	return src;
}
然后通过函数调用可以试试效果:

int main()
{	
	char *p = "Neusoft";
	char k[256];
	// 字符串全部转成大写
	_strupr_d(k);
	// 字符串转换成小写
	//_strlwr_d(k);
	cout << k <

下面把效果贴出来:

strupr与strlwr函数的实现_第1张图片

strupr与strlwr函数的实现_第2张图片


效果还是有的,功能就实现了,比较简单。

下面附出ASCII表附出来,这样看来更清晰,理解更快。

strupr与strlwr函数的实现_第3张图片

大写的A对应的是65,小写的a对应的是97,相差就是32。

你可能感兴趣的:(C++,C++学习积累)