使用C++的transform函数实现string的大小写转换

C++提供了transform函数可以用来实现将string中的字母全部转换为大写或者是小写

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

using namespace std;

int main()
{
    
    
        string str = "abcdefgHIJKLMN";
        //转小写
        transform(str.begin(),str.end(),str.begin(),::tolower);
        cout<<str<<endl;
        //转大写
        transform(str.begin(),str.end(),str.begin(),::toupper);
        cout<<str<<endl;

        return 0;
}
//运行结果
abcdefghijklmn
ABCDEFGHIJKLMN

注意点:
1、transform函数需要包含头文件< algorithm >;
2、注意参数,一共有四个参数,其中前三个都是迭代器,第四个决定了转为大写还是小写。
3、第四个参数前面要有“::”符号。
4、第四个参数不要加括号

补充

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

using namespace std;

int main()
{
    
    
        string str = "ab123cdefg456,. HIJKLMN";
        //转小写
        transform(str.begin(),str.end(),str.begin(),::tolower);
        cout<<str<<endl;
        //转大写
        transform(str.begin(),str.end(),str.begin(),::toupper);
        cout<<str<<endl;

        return 0;
}
//运行结果
ab123cdefg456,. hijklmn
AB123CDEFG456,. HIJKLMN

在str中加入了数字、标点符号以及空格符,之后分别转为小写、大写。发现只是将str中的字符进行了相应的转化,其余的字符并没有发生变化。
也就是说,可以对包含有不仅仅包含字母字符的string进行转换。
不用自己去写函数实现转换string中的单词大小写了。

猜你喜欢

转载自blog.csdn.net/weixin_44321570/article/details/113461726