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;
}