C++知识碎片整理(2)——字符串大小写转换

C++知识碎片整理(2)——字符串大小写转换
2016/8/16


/*
    字符串大小写转换
    std::string方法
    核心是transform()方法
    需要引入头文件algorithm
*/


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

using namespace std;

int main(){
    string str1 = "abc";
    string str2 = "DEFG";
    cout << str1 << endl;
    cout << str2<< endl;
    transform(str1.begin(), str1.end(), str1.begin(), toupper);
    transform(str2.begin(), str2.end(), str2.begin(), tolower);
    cout << str1 << endl;
    cout << str2 << endl;
    transform(str1.begin(), str1.end(), str2.begin(), tolower);
    cout << str2 << endl;
    getchar();

}

transform()是拥有多种重载方式的函数,由上例可见他可以将一个迭代器中元素按某种规则复制到另一个迭代器中,tolower和toupper都是规则的标记。

2017/2/3
批注:这里我只记录了一种大小写转换的实现方法,通过algorithm包的transform()方法实现,无需多言,C++的强大函数库自然有多种方法实现这个微不足道的功能,这个也不一定是最佳方法,但本质上应该都是字符转换ASCII码的处理。

补充Java中大小写的转换:

package com.way.algorithm;

public class CaseExchange {

    public static void main(String[] args) {
        String str1="ABcd";
        String str2=str1.toLowerCase();
        String str3=str1.toUpperCase();
        System.out.println(str2);
        System.out.println(str3);
    }

}

输出

abcd
ABCD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值