C++ string的大小写转换
将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并 没有提供这个方法。自己写个函数来实现,说起来挺简单,但做起来总让人觉得不方便。打个比方:早上起来想吃个汉堡,冰箱里有生牛肉,有面粉,也有微波炉, 是可以自己做的,但是实在是太费事,没几个人愿意做。但是,打个电话给肯德基宅急送,10分钟后就有热乎乎的汉堡送上门了,大大节省了时间(时间就是金 钱,你可以将时间用在更重要的开发工作上),并且味道也不差,何乐而不为呢?
STL的algorithm库确实给我们提供了这样的便利,使用模板函数transform可以轻松解决这个问题,开发人员只需要提供一个函数对象,例如将char转成大写的toupper函数或者小写的函数tolower函数。
transform原型:
- #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 ;
- }
运行结果:
- strA:yasaken@.com
- strB:LURY@LENOVO.com
- After transform to toupper:
- strA:YASAKEN@.COM
- strB:LURY@LENOVO.COM
- After transform to lower:
- strA:yasaken@.com
- strB:lury@lenovo.com
转载自:http://blog.csdn.net/zhongyhc/article/details/41686893。
C++ string的大小写转换的更多相关文章
- std::string 字符串大小写转换(转)
该问题归结为std::transform函数的使用 函数原型 template < class InputIterator, class OutputIterator, class UnaryO ...
- C++ string的大小写转换【转载】
转载自https://www.cnblogs.com/balingybj/p/4678850.html 将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并 没有提供这 ...
- Java基础(31):String的大小写转换、分离成数组、==与equals()的区别(String类)
继续来看 String 类常用的方法,如下代码所示: 运行结果: 那么,“==” 和 equals() 有什么区别呢? ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象 eq ...
- JAVA 如何将String进行大小写转换
private String convertString(String str, Boolean beginUp){ char[] ch = str.toCharArray(); StringBuff ...
- std::string转化大小写(C++)
#include <string> #include <algorithm> void test() { std::string strA="QQQQWWWqqqqq ...
- 黄聪:PHP字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、切割成数组等)
一.字符串替换 str_replace("iwind", "kiki", "i love iwind, iwind said"); 将输出 ...
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- string类中字符的大小写转换
今天做一道题,要用string类,涉及大小写转换,查看了C++文档,string类没有提供这样的方法,只好自己写. 之后是想到一个比较笨的方法,我把string当成一个容器,然后用迭代器一个一个来替换 ...
随机推荐
- WinForm输入网址打开源码
无聊练习一下WinForm,输入网址,点击按钮就在浏览器打开网址. 源代码下载: http://hovertree.com/h/bjaf/cao15h74.htm
- 创业型互联网公司应该选择PHP, JavaEE还是.NET技术路线?
通常JavaEE和.NET被定义为构建大型在线系统,因为其支持面向对象设计,异步通讯,MVC等都相对比较完善,而PHP通常用于构建比较轻量的业务,例如SNS服务. 因为实施速度快,工程师社区规模大,开 ...
- bootstrap布局 网格系统
Bootstrap 网格系统 本章节我们将讲解 Bootstrap 的网格系统(Grid System). Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewp ...
- Ajax学习资源大全[本来是转载的,但是现在我增加了很多]
本欲放转载区,但是这样一文章放那里基本是没有用的,帮助不了任何人!所以放新手了!! 我一般非经典或者自己用不上不转载,所以如果你不幸看见了的话,恰恰你又对AJAX有兴趣的话不防看下,也许对你有用的!! ...
- MySQL Query Profile
MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用量, 执行过程 System lock, Table lock 花多少时间等等.从 ...
- Html 网页布局(一)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
- Maven创建webapp(二)
这一节将记录在myeclipse下用maven创建一个简单的webapp项目 web开发maven仓库自动添加组件,故需要需要保持网络的通畅. 打开myeclipse --> File - ...
- If you insist running as root, then set the environment variable RUN_AS_USER=root...
版权声明:本文为博主原创文章,不经博主允许注明链接即可转载. If you insist running as root, then set theenvironment variable RUN_A ...
- SQL Server性能影响的重要结论
第一次访问数据会比接下来的访问慢的多,因为它要从磁盘读取数据然后写入到缓冲区: 聚合查询(sum,count等)以及其他要扫描大部分表或索引的查询需要大量的缓冲,而且如果它导致SQL Server从缓 ...
- JavaScript调Java
1.映射Java对象到JavaScript对象上 MainActivity.java package com.example.jsdemo; import android.os.Bundle; imp ...