C++實現一個將字串中所有字母轉換為大寫的方法

Super_killer_lx發表於2020-12-07

思路:
在C++語言中,每一個常用字元都有一個對應的ASCII值,
大寫字母A-Z對應的ASCII為65-90,小寫字母a-z對應的ASCII值為97-122。

大寫字母與小寫字母的ASCII值相差32,故可以通過這一點實現大寫字母與小寫字母的轉換。

萬能標頭檔案:

#include<bits/stdc++.h>

方法實現:

char* myStrToUpper(char* srcStr)
{
	assert(srcStr != NULL);
	char* pDest = srcStr;
	do{
		if(*srcStr>='a' && *srcStr<='z')
		{
			*srcStr -= 'a' - 'A';
			//*srcStr -= 32;
		}
	}while((*srcStr++) != '\0');
	return pDest;
}

測試:

int main()
{
	char a[100] = "HelloWorld";
	char* str = myStrToUpper(a);
	printf(str);
	return 0;
}

在這裡插入圖片描述

相關文章