使用std::transform配合std::toupper是转换字符串为大写的推荐方法,通过遍历字符或封装函数可实现小写转大写,注意使用unsigned char避免未定义行为。

在C++中,将字符串中的所有小写字母转换为大写是一个常见的操作。可以通过标准库函数或手动遍历字符实现。以下是几种常用且有效的方法。
结合 std::string 和循环,可以遍历整个字符串:
#include <iostream><br>#include <string><br>#include <cctype><br><br>int main() {<br> std::string str = "hello world!";<br> for (char &c : str) {<br> c = std::toupper(c);<br> }<br> std::cout << str << std::endl; // 输出: HELLO WORLD!<br> return 0;<br>}#include <iostream><br>#include <string><br>#include <algorithm><br>#include <cctype><br><br>int main() {<br> std::string str = "hello c++!";<br> std::transform(str.begin(), str.end(), str.begin(),<br> [](unsigned char c){ return std::toupper(c); });<br> std::cout << str << std::endl; // 输出: HELLO C++!<br> return 0;<br>}std::string toUpperCase(const std::string& input) {<br> std::string result = input;<br> std::transform(result.begin(), result.end(), result.begin(),<br> [](unsigned char c){ return std::toupper(c); });<br> return result;<br>}std::string original = "convert me";<br>std::string upper = toUpperCase(original);<br>std::cout << upper << std::endl; // 输出: CONVERT ME
基本上就这些。使用 std::transform 配合 std::toupper 是最推荐的做法,既高效又清晰。手动循环也容易理解,适合初学者掌握原理。不复杂但容易忽略的是字符类型的安全处理,尤其是涉及非 ASCII 字符时要注意编码问题。
以上就是c++++中怎么把所有小写字母转为大写_c++字符串大小写转换方法的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号