思路:
在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;
}