在c++中编写函数,对字符串中的字母进行转换,由大写转换为小写
时间: 2024-03-23 15:42:21 浏览: 86
写自定义函数stringLower()实现将一个字符串中所有大写字母变为小写字母。在主函数中输入一含有大写字母的字符串,调用该函数并输出改变后的字符串。
5星 · 资源好评率100%
在 C++ 中编写一个函数,用于将字符串中的大写字母转换为小写字母,可以使用 `std::transform` 算法来实现。该算法可以将一个区间内的元素进行转换,并将结果存储到另一个区间中。
以下是一个示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <string>
void toLower(std::string& str) {
std::transform(str.begin(), str.end(), str.begin(), [](unsigned char c) {
return std::tolower(c);
});
}
int main() {
std::string str = "Hello World!";
toLower(str);
std::cout << str << std::endl; // 输出 "hello world!"
return 0;
}
```
在 `toLower()` 函数中,使用 `std::transform` 算法对字符串中的每个字符进行转换,将大写字母转换为小写字母,并将结果存储回原字符串中。
注意,这里使用了一个 Lambda 表达式来作为 `std::transform` 算法的转换函数。Lambda 表达式中的 `[]` 捕获列表为空,表示不捕获任何外部变量,而 `[](unsigned char c)` 则表示这是一个接受一个 `unsigned char` 类型参数的 Lambda 表达式,用于将其转换为小写字母并返回。
阅读全文