C++字符串中大写小写转换的库函数
时间: 2024-09-16 07:01:36 浏览: 49
C++实现字符串字母大小写交换(含详细注释)
在C++标准库中,没有直接提供将整个字符串从大写转为小写或从小写转为大写的库函数。但是,你可以利用`<cctype>`头文件中的`toupper()` 和 `tolower()` 函数,这两个函数分别用于将单个字符转换成大写和小写,然后配合循环遍历整个字符串来完成这个任务。
例如,如果你想把一个`std::string`类型的字符串`str`全部转化为小写,可以这样做:
```cpp
#include <cctype>
#include <string>
void toLower(std::string& str) {
for (char& c : str) {
if (isupper(c)) { // 判断字符是否为大写
c = towlower(c); // 转换为小写
}
}
}
```
同样,对于大写转小写只需将`towupper()`替换到上述代码中的`towlower()`即可。如果需要在C++17及以上版本,可以直接使用`std::ranges`库提供的`transform()`函数简化操作:
```cpp
#include <algorithm>
#include <cctype>
#include <string_view>
void toLower(std::string& str) {
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
}
```
阅读全文