首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在C++中更改字符串的大小写?

如何在C++中更改字符串的大小写?
EN

Stack Overflow用户
提问于 2010-11-03 13:35:36
回答 7查看 18.5K关注 0票数 6

我有一个字符串,它可以包含数字以及大小写字母。我需要将所有的大写字母转换为小写字母,反之亦然。我们该怎么做呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-11-03 13:50:08

迭代字符串并使用isupper()确定每个字符是否为大写。如果它是大写的,使用tolower()将其转换为小写。如果不是大写,使用toupper()将其转换为大写。

票数 13
EN

Stack Overflow用户

发布于 2010-11-03 13:52:29

这里有一个不用boost就能做到的方法:

代码语言:javascript
复制
#include <string>
#include <algorithm>
#include <cctype>
#include <iostream>

char change_case (char c) {
    if (std::isupper(c)) 
        return std::tolower(c); 
    else
        return std::toupper(c); 
}

int main() {
    std::string str;
    str = "hEllo world";
    std::transform(str.begin(), str.end(), str.begin(), change_case);
    std::cout << str;
    return 0;
}
票数 14
EN

Stack Overflow用户

发布于 2010-11-03 13:43:17

您可以遍历字符串并从每个字母字符中添加或减去适当的数字,以便将ASCII值解析为大小写相反的ASCII值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4084458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档