
在C++中,将字符串中的所有字母转换为大写或小写,可以通过标准库提供的函数来实现。常用的方法是结合 std::toupper 和 std::tolower 配合 std::transform 算法处理整个字符串。
1. 转换为大写(Uppercase)
使用 std::transform 配合 std::toupper 可以将字符串中的每个字符转为大写。
示例代码:
#include
#include
#include iostream>
std::string str = "Hello World!";
std::transform(str.begin(), str.end(), str.begin(), ::toupper);
// 结果: "HELLO WORLD!"
2. 转换为小写(Lowercase)
类似地,使用 std::tolower 实现转小写。
立即学习“C++免费学习笔记(深入)”;
示例代码:
std::string str = "Hello World!";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
// 结果: "hello world!"
3. 注意事项与说明
- ::toupper 和 ::tolower 是C语言风格的函数,需加上作用域符 :: 或使用 std::toupper, 但要注意包含
- 需要包含头文件:
和 - std::transform 会原地修改字符串,若想保留原字符串,可先复制一份
- 非字母字符(如空格、数字、标点)不会被改变
4. 完整示例
#include
#include
#include
#include
int main() {
std::string text = "C++ is FUN! 123";
std::string upper_text = text;
std::string lower_text = text;
std::transform(upper_text.begin(), upper_text.end(), upper_text.begin(), ::toupper);
std::transform(lower_text.begin(), lower_text.end(), lower_text.begin(), ::tolower);
std::cout
std::cout
std::cout
return 0;
}
输出结果:
Original: C++ is FUN! 123
Uppercase: C++ IS FUN! 123
Lowercase: c++ is fun! 123
基本上就这些。这种方法简洁高效,适用于大多数场景下的大小写转换需求。注意确保包含了必要的头文件,并正确使用全局命名空间中的字符函数。不复杂但容易忽略细节。











