STL的algorithm库确实给我们提供了这样的便利,使用模板函数transform可以轻松解决这个问题,开发人员只需要提供一个函数对象,例如将char转成大写的toupper函数或者小写的函数tolower函数。

transform原型:

 
 1 #include <string>
2 #include <algorithm>
3 using namespace std;
4
5 int main()
6 {
7 string strA = "yasaken@126.com";
8 string strB = "LURY@LENOVO.com";
9 printf("Before transform:\n");
10 printf("strA:%s \n", strA.c_str());
11 printf("strB:%s \n\n", strB.c_str());
12
13 transform(strA.begin(), strA.end(), strA.begin(), ::toupper);
14 transform(strB.begin(), strB.end(), strB.begin(), ::toupper);
15 printf("After transform to toupper:\n");
16 printf("strA:%s \n", strA.c_str());
17 printf("strB:%s \n\n", strB.c_str());
18
19 transform(strA.begin(), strA.end(), strA.begin(), ::tolower);
20 transform(strB.begin(), strB.end(), strB.begin(), ::tolower);
21 printf("After transform to lower:\n");
22 printf("strA:%s \n", strA.c_str());
23 printf("strB:%s \n\n", strB.c_str());
24 return 0;
25 }

运行结果:

 1 strA:yasaken@126.com
2 strB:LURY@LENOVO.com
3
4 After transform to toupper:
5 strA:YASAKEN@126.COM
6 strB:LURY@LENOVO.COM
7
8 After transform to lower:
9 strA:yasaken@126.com
10 strB:lury@lenovo.com

转载自:http://blog.csdn.net/zhongyhc/article/details/41686893。

最新文章

  1. lodash 替换 underscore
  2. KlayGE 4.4中渲染的改进(五):OpenGL 4.4和OpenGLES 3
  3. 张艾迪(创始人):Hello.世界...
  4. AndroidDev站点推荐-zz
  5. js实现的新闻列表垂直滚动实现详解
  6. Struts2 Convention插件的使用(2)return视图以及jsp的关系
  7. win8.1下使用vmware workstation 来编译ffmpeg
  8. URAL 1792. Hamming Code (枚举)
  9. shell是什么,各种shell的初步认识,适用于初学者
  10. APUE-文件和目录(一)
  11. 工业级GBDT算法︱微软开源 的LightGBM(R包正在开发....)
  12. pods 报错There may only be up to 1 unique SWIFT_VERSION per target
  13. 高并发系统保护~ing
  14. List&lt;Map&lt;String, Object&gt;&gt;集合中获取某个key并转换为List&lt;Integer&gt;集合
  15. mysql 开发进阶篇系列 15 锁问题 (总结)
  16. Python:Day07 作业
  17. 图-&gt;有向无环图-&gt;拓扑排序
  18. 雷林鹏分享:Ruby Web Services 应用 - SOAP4R
  19. 简单使用dom4j
  20. JSON在Java中的使用(一)

热门文章

  1. kafka 学习之初体验
  2. LINUX提权笔记
  3. 体积雾 global fog unity 及改进
  4. 关于typedef的用法总结(zz)
  5. Spark2-对于Null/Nan的处理
  6. 元素的数据存储-jQuery.data()与.data()
  7. hdu 4506 小明系列故事——师兄帮帮忙【幂取模乱搞】
  8. 算法笔记_058:蓝桥杯练习 2的次幂表示(Java)
  9. JAVA 解密pkcs7(smime.p7m)加密内容 ,公钥:.crt 私钥:.pem 使用Bouncy Castle生成数字签名、数字信封
  10. ZOJ - 3725 Painting Storages