C++實現一個將字串中所有字母轉換為大寫的方法
阿新 • • 發佈:2020-12-09
思路:
在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;
}