c++ string类 字符串小写
时间: 2023-07-19 08:25:51 浏览: 53
你可以使用 C++ 标准库中的 `transform` 算法和 `tolower` 函数来将字符串中的所有字符转换为小写。以下是一个示例代码:
```cpp
#include <algorithm>
#include <cctype>
#include <string>
int main() {
std::string str = "Hello World!";
std::transform(str.begin(), str.end(), str.begin(),
[](unsigned char c){ return std::tolower(c); });
// 现在 str 中的内容变为 "hello world!"
return 0;
}
```
在这个代码中,`transform` 算法会遍历字符串 `str` 中的每个字符,并将其作为参数传递给 lambda 函数。该 lambda 函数使用 `tolower` 函数将字符转换为小写,并返回转换后的字符。`transform` 算法会将返回值写入到 `str` 中原来的位置,从而实现将整个字符串转换为小写。
相关问题
c++string字符串大写转小写
可以通过循环遍历字符串并调用 `tolower()` 函数来实现将大写字母转换为小写字母,例如:
```c++
#include <iostream>
#include <string>
int main() {
std::string s = "HELLO WORLD!";
for (char& c : s) {
c = tolower(c);
}
std::cout << s << std::endl; // 输出 "hello world!"
return 0;
}
```
在循环中,将字符串中的每个字符都转换为小写字母,并将其重新赋值给原来的位置。最后输出转换后的字符串即可。
c++11字符串转小写
在C++11中,可以使用标准库中的`std::transform`函数和`std::tolower`函数来实现字符串转小写的操作。下面是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <string>
int main() {
std::string str = "Hello World";
std::transform(str.begin(), str.end(), str.begin(), [](unsigned char c) {
return std::tolower(c);
});
std::cout << str << std::endl;
return 0;
}
```
上述代码中,`std::transform`函数接受三个参数:待转换字符串的起始迭代器、待转换字符串的结束迭代器以及转换后的目标字符串的起始迭代器。通过使用lambda表达式作为第四个参数,我们可以将每个字符都转换为小写形式。