C++对string进行大小写转换操作方法
YAIMZA 人气:0C++对string进行大小写转换操作方法
方法一:
使用C语言之前的方法,使用函数,进行转换
#include <iostream> #include <string> using namespace std; int main() { string s = "ABCDEFG"; for( int i = 0; i < s.size(); i++ ) { s[i] = tolower(s[i]); } cout<<s<<endl; return 0; }
方法二:
通过STL的transform算法配合的toupper和tolower来实现该功能
#include <iostream> #include <algorithm> #include <string> using namespace std; int main() { string s = "ABCDEFG"; string result; transform(s.begin(),s.end(),s.begin(),::tolower); cout<<s<<endl; return 0; }
补充:C++ string大小写转换
1、通过单个字符转换,使用C的toupper、tolower函数实现
#include <iostream> #include <string> #include <algorithm> using namespace std; int main(){ string str = "ancdANDG"; cout << "转换前的字符串: " << str << endl; for(auto &i : str){ i = toupper(i);//i = tolower(i); } cout << "转换后的字符串: " << str << endl; //或者 for(int i = 0;i < str.size();++i){ str[i] = toupper(s[i]);//str[i] = toupper(s[i]); } cout << "转换后的字符串: " << str << endl; return 0; }
2、通过STL的transform实现
#include <iostream> #include <string> #include <algorithm> using namespace std; int main(){ string str = "helloWORLD"; cout << "转换前:" << str << endl; //全部转换为大写 transform(str.begin(), str.end(), str.begin(), ::toupper); cout << "转换为大写:" << str << endl; //全部转换为小写 transform(str.begin(), str.end(), str.begin(), ::tolower); cout << "转换为小写:" << str << endl; //前五个字符转换为大写 transform(str.begin(), str.begin()+5, str.begin(), ::toupper); cout << "前五个字符转换为大写:" << str << endl; //后五个字符转换为大写 transform(str.begin()+5, str.end(), str.begin()+5, ::toupper); cout << "前五个字符转换为大写:" << str << endl; return 0; }
加载全部内容