使用 algorithm 中的 transform:
#include <string>
#include <algorithm>
#include <iostream>
int main()
{
std::string str = "FrancisHe";
std::transform(str.begin(), str.end(), str.begin(), ::toupper);
std::cout << str << std::endl;
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
std::cout << str << std::endl;
return 0;
}
注意:toupper/tolower 不要用 std::xxx, 否则在 Linux 下回编译通不过,因为 Linux 下 std::xxx 是用宏实现的。