答案是使用std::transform配合std::toupper或std::tolower可实现字符串大小写转换:包含相关头文件后,通过transform遍历字符并转换,支持原地修改或生成新字符串,仅影响字母字符,非ASCII字符需注意locale限制。

在C++中,将字符串中的所有字母转换为大写或小写,通常使用标准库中的函数。最常用的方法是结合 std::toupper 和 std::tolower 配合 std::transform 来实现。
使用 std::transform 配合 std::toupper 可以将字符串中所有字符转为大写:
#include <iostream><br>#include <string><br>#include <algorithm><br>#include <cctype> // for std::toupper<br><br>int main() {<br> std::string str = "Hello World!";<br> std::transform(str.begin(), str.end(), str.begin(), ::toupper);<br> std::cout << str << std::endl; // 输出: HELLO WORLD!<br> return 0;<br>}::toupper 是C风格的全局函数,前面加 :: 表示使用全局命名空间中的版本,避免与std中的重载冲突。
类似地,使用 std::tolower 将字符串转为小写:
立即学习“C++免费学习笔记(深入)”;
std::string str = "Hello World!";<br>std::transform(str.begin(), str.end(), str.begin(), ::tolower);<br>std::cout << str << std::endl; // 输出: hello world!
如果不想改变原始字符串,可以复制一份再转换:
std::string original = "Hello World!";<br>std::string upper = original;<br>std::transform(upper.begin(), upper.end(), upper.begin(), ::toupper);
或者直接构造:
std::string lower;<br>lower.resize(original.size());<br>std::transform(original.begin(), original.end(), lower.begin(), ::tolower);
以上就是c++++中如何将所有字母转换为大写或小写_c++字符串大小写转换方法的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号