string大小写转换
来源:互联网 发布:淘宝店铺举报在哪里 编辑:程序博客网 时间:2024/06/07 03:57
将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并没有提供这个方法。自己写个函数来实现,说起来挺简单,但做起来总让人觉得不方便。打个比方:早上起来想吃个汉堡,冰箱里有生牛肉,有面粉,也有微波炉,是可以自己做的,但是实在是太费事,没几个人愿意做。但是,打个电话给肯德基宅急送,10分钟后就有热乎乎的汉堡送上门了,大大节省了时间(时间就是金钱,你可以将时间用在更重要的开发工作上),并且味道也不差,何乐而不为呢?
测试代码:
最后补一句:STL algorithm功能实在是太强劲了,非常推荐。
STL的algorithm库确实给我们提供了这样的便利,使用模板函数transform可以轻松解决这个问题,开发人员只需要提供一个函数对象,例如将char转成大写的toupper函数或者小写的函数tolower函数。
transform原型:
- template < class InputIterator,class OutputIterator, class UnaryOperator >
- OutputIterator transform ( InputIterator first1, InputIterator last1,
- OutputIterator result, UnaryOperator op );
- template < class InputIterator1, class InputIterator2,
- class OutputIterator, class BinaryOperator >
- OutputIterator transform ( InputIterator1 first1, InputIterator1 last1,
- InputIterator2 first2, OutputIterator result,
- BinaryOperator binary_op );
template < class InputIterator, class OutputIterator, class UnaryOperator > OutputIterator transform ( InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperator op );template < class InputIterator1, class InputIterator2, class OutputIterator, class BinaryOperator > OutputIterator transform ( InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator result, BinaryOperator binary_op );
测试代码:
- #include <string>
- #include <algorithm>
- using namespace std;
- int main()
- {
- string strA = "yasaken@126.com";
- string strB = "LURY@LENOVO.com";
- printf("Before transform:\n");
- printf("strA:%s \n", strA.c_str());
- printf("strB:%s \n\n", strB.c_str());
- transform(strA.begin(), strA.end(), strA.begin(), ::toupper);
- transform(strB.begin(), strB.end(), strB.begin(), ::toupper);
- printf("After transform to toupper:\n");
- printf("strA:%s \n", strA.c_str());
- printf("strB:%s \n\n", strB.c_str());
- transform(strA.begin(), strA.end(), strA.begin(), ::tolower);
- transform(strB.begin(), strB.end(), strB.begin(), ::tolower);
- printf("After transform to lower:\n");
- printf("strA:%s \n", strA.c_str());
- printf("strB:%s \n\n", strB.c_str());
- return 0;
- }
#include <string>#include <algorithm>using namespace std;int main(){ string strA = "yasaken@126.com"; string strB = "LURY@LENOVO.com"; printf("Before transform:\n"); printf("strA:%s \n", strA.c_str()); printf("strB:%s \n\n", strB.c_str()); transform(strA.begin(), strA.end(), strA.begin(), ::toupper); transform(strB.begin(), strB.end(), strB.begin(), ::toupper); printf("After transform to toupper:\n"); printf("strA:%s \n", strA.c_str()); printf("strB:%s \n\n", strB.c_str()); transform(strA.begin(), strA.end(), strA.begin(), ::tolower); transform(strB.begin(), strB.end(), strB.begin(), ::tolower); printf("After transform to lower:\n"); printf("strA:%s \n", strA.c_str()); printf("strB:%s \n\n", strB.c_str()); return 0;}
运行结果:
- strA:yasaken@126.com
- strB:LURY@LENOVO.com
- After transform to toupper:
- strA:YASAKEN@126.COM
- strB:LURY@LENOVO.COM
- After transform to lower:
- strA:yasaken@126.com
- strB:lury@lenovo.com
strA:yasaken@126.com strB:LURY@LENOVO.com After transform to toupper:strA:YASAKEN@126.COM strB:LURY@LENOVO.COM After transform to lower:strA:yasaken@126.com strB:lury@lenovo.com
最后补一句:STL algorithm功能实在是太强劲了,非常推荐。
- string 大小写转换
- string大小写转换函数
- string大小写转换函数
- C++ string大小写转换
- string的大小写转换
- string 大小写转换
- string大小写转换函数
- string大小写转换
- C++ string大小写转换
- JAVA String 大小写转换
- C++ string大小写转换
- string大小写转换
- C++ string大小写转换
- string类大小写转换
- string 的大小写转换
- string 大小写转换
- std::string 字符串大小写转换
- linux C++ string大小写转换
- PKU-1067 取石子游戏 (威佐夫博奕(Wythoff Game))
- TI-Davinci开发系列之七DVSDK-4.03目录介绍
- metasploit对IE浏览器的极光漏洞进行渗透利用
- vnc报错 font catalog is not properly configured
- Android酱油笔记之关于colors.xml的各种颜色收集
- string大小写转换
- Adnroidy应用android:screenOrientation属性简介
- 黑马程序员-java集合框架3
- asp.net 下载文件
- 内存对齐小实验
- Linux软连接和硬链接
- OnItemCommand
- 2011-2012中国嵌入式开发从业人员调查报告
- RTSP服务器配置细节注意(持续更新)