他小的有

C++ string字符串转小写和大写

C++标准string本身没有字符串转大写和小写的方法,不像C#中的string.ToLower、ToUpper那样方便。那C++中如何使用字符变大写或小写呢?除了自己for循环遍历字符然后判断决定是否变大小写外,C++算法中已经提供了transform函数,方便地用于容器的变换操作,这里适用于string,因为string也是容器的一种。

注意:使用时包含头文件 #include <algorithm>

//小写
string& ToLower(string &str)
{
	transform(str.begin(), str.end(), str.begin(), tolower);
	return str;
}

//大写
string& ToUpper(string &str)
{
	transform(str.begin(), str.end(), str.begin(), toupper);
	return str;
}

因为是引用,函数执行完transform之后,其实字符串已经转换了,那为什么还要返回呢?这是为了使用链式表达式,比如在判断文件扩展名是否是.exe的时候,可以这样使用

//判断文件扩展是否是.exe
if (ToLower(strFileExt) == (".exe"))
{
    //...
}

而不是先调用函数之后,再判断。当然我们最好把它封装成一个一个类,比如CStringEx类,方便我们在以后的项目中使用,先把这些总结完之后再作这样一篇文章吧。


本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

2
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址