【1】ASCll碼關係:’A’-‘Z’ 是65~90,’a’-‘z’是97-122,對應大小寫字母ASCll值相差32。在加個循環條件便可轉換。c++
單個字符 c :函數
大寫變小寫:c + 32 ;spa
小寫變大寫:c - 32 ;code
char str[10] = "ABcd"
// 所有轉爲小寫
for(int i=0; i<str.size(); i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
str[i] = str[i] - 32; // 小寫變大寫
// else if(str[i] >= 'A' && str[i] <= 'Z')
// str[i] = str[i] + 32; // 大寫變小寫
}
for(int i=0; i<str.size(); i++)
{
cout<<str[i];
}
【2】c++中transform()函數。orm
該函數的使用須要引用頭文件<algorithm>字符串
string s1="AAAbbb";
transform(s1.begin(),s1.end(),s1.begin(),toupper);
cout<<"所有轉化爲大寫:"<<s1<<endl;
transform(s1.begin(),s1.end(),s1.begin(),tolower);
cout<<"所有轉化爲小寫:"<<s1<<endl;
字符串比較:是指從左往右對單個字符或字符串進行比較大小的操做,通常都是以ASCII碼值的大小做爲字符比較的標準。string
【比較方法】it
c語言strcmp(a, b)函數,比較兩個字符串的大小,a < b 返回-1,a == b 返回0,a > b返回1。這裏的比較方式是字典序!form
c++ string類定義的字符串能夠直接進行比較class
【注意事項】
兩個不一樣長度的字符串進行比較時,不是長的字符串就必定大。如字符串s1爲ABCE
,字符串s2爲ABCDEF
。對 s1 與 s2 進行比較時,s1 的第4個字符是E
,s2 的第4個字符是D
,而D < E
,因此s1 > s2。儘管 s2 比s1長。
當字符串有空格時,空格也參加比較。如s1爲 b ook
(表示空格),s2 爲book
,顯示-79,故s1 < s2
大寫字母和小寫字母的ASCII代碼值是有區別的,因此,yes
> YEs
當字符串所有用英文字母的大寫(或小寫)組成時,字符串的大小順序和它們在字典中的順序相同,本質仍是ASCll碼的大小比較
由漢字組成的字符串能夠參加比較。如李紅
< 王軍
。它們的大小實際是由其拼音構成的字符串的大小來決定的。上例即:LIHONG
< WANGJUN
回車,ASCII碼13 換行,ASCII碼10 空格,ASCII碼32