string 大小写转换
Posted 行尸走肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string 大小写转换相关的知识,希望对你有一定的参考价值。
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
以上是关于string 大小写转换的主要内容,如果未能解决你的问题,请参考以下文章