wxString的大小写转换函数有两类,一类:Lower/Upper(),另一类:MakeLower()|LowerCase()/MakeUpper()|UpperCase()
一.Lower()/Upper()。
1 void convert()
2 {
3 wxString lowerStr=wxT("this is a lower string");
4 wxString uppserStr=lowerStr.Upper();
5 cout<<"lowerStr="<<lowerStr<<endl<<"upperStr="<<upperStr<<endl;
6
7 }
结果证明lowerStr在函数执行后保持小写不变,而upperStr则为新生成的大写字符串。那么MakeLower()/MakeUpper()呢?
二.MakeLower()|LowerCase()/MakeUpper()|UpperCase()
首先LowerCase()与MakeLower()同义,相应地,UpperCase() 与MakeUpper()同义。
1 void convert()
2 {
3 wxString lowerStr=wxT("this is a lower string");
4 cout<<"Original lowerStr (should be in lower case):"<<lowerStr<<endl;
5 lowerStr.MakeUpper();
6 cout<<"Now lowerStr should be in upper case:"<<lowerStr<<endl;
7 }
结果一目了然。MakeLower()/MakeUpper()会将原字符串直接转换返回其引用。
三.MakeCapitalized()
不论原字符串是大写,小写还是大小相混,MakeCapitalized()都会将第一个单词的首字母大写,其后一律小写,返回的也是结果的引用。那么Lower/MakeLower()/MakeCapitalized()/Upper/MakeUpper()对中文字符串有什么影响呢?回答是----没影响。