transform函数可用于字符串大小写转换,需包含头文件;使用::tolower将大写转小写,::toupper将小写转大写,通过std::transform对字符逐个处理,操作时需注意作用域符和目标迭代器设置。

在C++中,transform 函数是 std::algorithm 头文件中的一个非常实用的算法函数,常用于对容器中的每个元素进行变换。它特别适合用来实现字符串的大小写转换。
transform 函数基本用法
std::transform 的常用形式如下:
std::transform(起始迭代器, 结束迭代器, 目标迭代器, 变换函数);它可以将一个区间内的每个元素通过指定函数处理后,输出到另一个区间。
大写转小写(tolower)
使用 std::tolower 将字符串中的所有大写字母转换为小写。
立即学习“C++免费学习笔记(深入)”;
#include iostream>#include
#include
#include
int main() {
std::string str = "Hello World";
// 转换为小写
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
std::cout return 0;
}
小写转大写(toupper)
使用 std::toupper 将字符串中的所有小写字母转换为大写。
#include#include
#include
#include
int main() {
std::string str = "Hello World";
// 转换为大写
std::transform(str.begin(), str.end(), str.begin(), ::toupper);
std::cout return 0;
}
注意事项和技巧
使用 transform 进行大小写转换时,注意以下几点:
- 必须包含头文件
,其中定义了 tolower 和 toupper 函数。 - 调用 tolower 或 toupper 时,前面加 :: 表示使用全局的 C 风格函数,避免与 std 命名空间中的同名函数混淆。
- transform 不会自动调整字符串长度,只对现有字符操作,适用于 string、vector 等支持迭代器的容器。
- 如果目标位置不是原地转换,可以指定不同的目标迭代器,例如输出到另一个字符串。
基本上就这些。transform 配合 tolower/toupper 是 C++ 中最简洁的大小写转换方式之一,适用于大多数文本处理场景。不复杂但容易忽略细节,比如头文件和作用域符的使用。











