首页 > 后端开发 > C++ > 正文

C++ string大小写转换_C++ toupper与tolower用法

尼克
发布: 2025-12-05 10:21:05
原创
620人浏览过
C++中通过的toupper和tolower函数结合std::transform实现字符串大小写转换,可对ASCII字符进行高效处理,支持原地转换或使用范围for循环自定义操作,但不适用于Unicode字符。

c++ string大小写转换_c++ toupper与tolower用法

在C++中,对字符串进行大小写转换是一个常见的操作。虽然C++标准库没有直接提供像Python那样简洁的upper()lower()方法,但我们可以借助<cctype></cctype>头文件中的toupper()tolower()函数,结合std::transform来高效实现。

1. toupper 与 tolower 函数简介

toupper(int c)tolower(int c) 是定义在<cctype></cctype>头文件中的C风格函数,用于将单个字符转换为大写或小写:

  • toupper(c):如果c是小写字母(a-z),返回对应的大写字母(A-Z);否则返回原字符。
  • tolower(c):如果c是大写字母(A-Z),返回对应的小写字母(a-z);否则返回原字符。

注意:这两个函数参数类型是int,通常传入char会自动提升,但处理时应确保字符值在unsigned char范围内,避免未定义行为。

2. 转换整个字符串为大写或小写

要对整个std::string进行大小写转换,最常用的方法是使用std::transform算法:

立即学习C++免费学习笔记(深入)”;

#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>

int main() {
    std::string str = "Hello World!";

    // 转换为大写
    std::string upper_str = str;
    std::transform(upper_str.begin(), upper_str.end(), upper_str.begin(), ::toupper);

    // 转换为小写
    std::string lower_str = str;
    std::transform(lower_str.begin(), lower_str.end(), lower_str.begin(), ::tolower);

    std::cout << "Original: " << str << "\n";
    std::cout << "Uppercase: " << upper_str << "\n";
    std::cout << "Lowercase: " << lower_str << "\n";

    return 0;
}
登录后复制

输出结果:

SONIFY.io
SONIFY.io

设计和开发音频优先的产品和数据驱动的解决方案

SONIFY.io 75
查看详情 SONIFY.io
Original: Hello World!
Uppercase: HELLO WORLD!
Lowercase: hello world!
登录后复制

关键点:

  • ::toupper::tolower前面加::是为了明确使用全局命名空间中的C函数,避免与可能的同名函数冲突。
  • std::transform遍历字符串每个字符,应用指定函数后写回目标位置。

3. 原地转换与自定义处理

如果想直接修改原字符串,可以直接在原str上操作:

std::transform(str.begin(), str.end(), str.begin(), ::tolower);
登录后复制

也可以使用范围for循环,代码更直观:

for (auto& c : str) {
    c = std::tolower(c);
}
登录后复制

这种方式便于添加额外逻辑,比如只转换特定条件的字符。

4. 注意事项

  • 这些函数仅对ASCII字母有效,不支持Unicode(如中文、带重音符号的字符)。
  • 非字母字符(数字、标点等)不会被改变。
  • 确保包含<cctype></cctype>头文件,否则toupper/tolower可能无法找到。
基本上就这些。掌握std::transform配合touppertolower的用法,就能轻松处理大多数C++字符串大小写转换需求。

以上就是C++ string大小写转换_C++ toupper与tolower用法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号