std::string全部转为大写字母
时间: 2023-09-10 19:07:11 浏览: 192
要将std::string中的所有字符转换为大写字母,可以使用std::transform函数结合std::toupper函数来实现。具体步骤如下:
1. 包含头文件<cstring>和<algorithm>以使用std::transform和std::toupper函数。
2. 创建一个新的std::string对象,用于存储转换后的大写字母字符串。
3. 使用std::transform函数遍历原始std::string对象中的每个字符,并将其转换为大写字母。在std::transform函数中,传递原始std::string对象的起始迭代器和结束迭代器,以及新std::string对象的起始迭代器,作为参数。
4. 在std::transform函数中,使用lambda表达式作为第三个参数,将每个字符都转换为大写字母。
5. 返回新的std::string对象,其中的字符已全部转换为大写字母。
示例代码如下:
```cpp
#include <algorithm>
#include <cctype>
#include <iostream>
#include <string>
std::string toUpperCase(const std::string& str) {
std::string result = str;
std::transform(result.begin(), result.end(), result.begin(),
[](unsigned char c) { return std::toupper(c); });
return result;
}
int main() {
std::string str = "Hello World!";
std::string uppercaseStr = toUpperCase(str);
std::cout << uppercaseStr << std::endl;
return 0;
}
```
运行上述代码,将会输出"HELLO WORLD!",即std::string对象中的所有字符已经全部转换为大写字母。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++: string讲解 前序](https://blog.csdn.net/zhang_si_hang/article/details/125561922)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文