C++对string进行大小写转换
方法一:下标
- #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;
- }
复制代码 方法二:迭代器
- #include<iostream>
- #include<string>
- using namespace std;
- int main()
- {
- string str;
- //cin >> str; //注意这里对于中间有空格的单词只会将第一个空格前的单词大写
- getline(cin, str); //可以将一整行的单词大写,两种方式看个人需求取其一即可
- for (auto it1 = str.begin(); it1 != str.end(); it1++)
- {
- *it1 = tolower(*it1);
- }
- cout << str << endl;
- return 0;
- }
- //另外如果要将单词化为大写,将tolower换成toupper即可
复制代码
方法三:通过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;
- }
复制代码
|