c++11使大写字符串转小写
时间: 2024-11-10 17:12:23 浏览: 9
c语言将字符串中的小写字母转换成大写字母
C++11并没有直接提供内置函数来实现从大写字符串到小写字符串的转换。但是,你可以借助C++标准库中的`std::transform`和`std::tolower`函数来自定义一个转换过程。
首先,你需要包含头文件 `<cctype>`,它包含了`tolower`函数,该函数可以将一个字符转换为其小写形式:
```cpp
#include <algorithm>
#include <cctype>
#include <string>
// 自定义函数,将字符串中的所有字符转换为小写
std::string to_lower_case(const std::string& input) {
std::string output = input;
std::transform(output.begin(), output.end(), output.begin(), ::tolower);
return output;
}
```
这个`to_lower_case`函数接受一个字符串作为输入,然后遍历整个字符串,对每个字符应用`tolower`函数,最后返回处理后的字符串。
如果你想在C++11以上版本中使用更现代的方式,也可以考虑使用`std::ranges`库,它是C++20引入的,但不是C++11的一部分:
```cpp
#include <ranges>
#include <string_view>
std::string_view to_lower_case(std::string_view str) {
return std::views::transform(str, [](char c){ return std::tolower(c); });
}
```
这会返回一个新的`std::string_view`,其内容已经被转换为小写。
阅读全文