说在前面

最近紧急处理bug时候,想进行C++的字符串大小写转换,发现好像之前没有用到过?!,顺带说一下C#的是真的方便~,其实并不是没有,而是之前真的没有用过,

那么需要用了,就查查吧,实践测试一下,有多种方法。

正文

有多种方法,

  • 可以使用C语言标准库函数toupper,tolower 以及对应的unicode版本 twoupper,twolower
  • 可以使用C++标准库中的_strlwr_s, _strupr_s 以及对应的unicode版本 _wcslwr_s, _wcsupr_s
  • 可以用STL中的transform,包含在algorithm头文件中
//  2021/5/22
void TestStrToUpperLower1()
{string strTest = ".jWS";wstring wcsTest = L".jWS";printf("%s using _strlwr_s of C++ standard lib\n.", __FUNCTION__);_strlwr_s(const_cast<char*>(strTest.c_str()), strTest.size() + 1);_wcslwr_s(const_cast<wchar_t*>(wcsTest.c_str()), wcsTest.size() + 1);wprintf(L"result of to lower for wstring: %s\n", wcsTest.c_str());printf("result of to lower for string: %s\n", strTest.c_str());_strupr_s(const_cast<char*>(strTest.c_str()), strTest.size() + 1);_wcsupr_s(const_cast<wchar_t*>(wcsTest.c_str()), wcsTest.size() + 1);wprintf(L"result of to upper for wstring: %s\n", wcsTest.c_str());printf("result of to upper for string: %s\n\n", strTest.c_str());}
void TestStrToUpperLower2()
{string strTest = ".jWS";wstring wcsTest = L".jWS";printf("%s using transform of algorithm\n.", __FUNCTION__);transform(strTest.begin(), strTest.end(), strTest.begin(), ::tolower);transform(wcsTest.begin(), wcsTest.end(), wcsTest.begin(), ::towlower);wprintf(L"result of to lower for wstring: %s\n", wcsTest.c_str());printf("result of to lower for string: %s\n", strTest.c_str());transform(strTest.begin(), strTest.end(), strTest.begin(), ::toupper);transform(wcsTest.begin(), wcsTest.end(), wcsTest.begin(), ::towupper);wprintf(L"result of to upper for wstring: %s\n", wcsTest.c_str());printf("result of to upper for string: %s\n\n", strTest.c_str());}

输出如下:

总结

多学多试,学以致用,会有多巴胺分泌~

参考

c++字符串大小写转换

C++字符串转为大写/小写相关推荐

  1. php strtoupper 和 array_change_key_case 字符串转大写,小写

    strtoupper :字符串转为大写. array_change_key_case 则是把数组的所有的键转换为大写字母. strtoupper: <?phpecho strtoupper(&q ...

  2. 字符串数组大写小写互相转换

    问题描述 对于输入的字符串数组,把里面的大写转换成小写 代码 思路:可以直到A的ASCII码是65,a的ASCII码是97,相差32 #include<stdio.h> #define N ...

  3. 给定一个长度,随机产生一个该长度的字符串,由大写,小写字母以及数字组成

    public static void main(String[] args) { /**方法一:* ASCII表中每个字母和数字都有对应的编号* 65~90 A~Z* 97~122 a~Z* 48~5 ...

  4. JAVA给定一个长度,随机产生一个该长度的字符串,由大写,小写字母以及数字组成

    public static void getString2(int len) {for (int i = 0; i < len; i++) {int k = (int) (Math.random ...

  5. python字符串大写字母个数_【python实例】统计字符串里大写字母,小写字母的个数和非字母的个数...

    """ 给定一个以下字符串:统计大写字母的个数,小写字母的个数,非字母的个数. str1 = "ajdkkKDKEK1343KFKiriromfkfKKRIOW ...

  6. 从键盘输入一字符串,以#为结束标志 将大写转为小写小写转为大写 其他不变输出转化后的字符串

    int main()//7  从键盘输入一字符串,以#为结束标志 将大写转为小写小写转为大写 其他不变输出转化后的字符串 {     char x,y;     scanf("%c" ...

  7. 判断一个字符串大写小写,和数字出现的次数

    /*** 判断一个字符串大写小写,和数字出现的次数*/ public class Demo4 {public static void main(String[] args) {String str = ...

  8. 遍历这些字符串,如果字符串没有包含数字的, * 就将字符串中的小写字母转成大写字母并打印字符串

    package Day08;import java.util.Scanner;/*** 有如下字符串:"12ab","java","cd", ...

  9. 随机验证码(数字和字母组成)及toLowerCase() 字符串转小写方法和toUpperCase()字符串转大写方法...

    JavaScript toLowerCase() 方法和toUpperCase()方法 toLowerCase()方法 定义:toLowerCase() 方法用于把字符串转换为小写. 语法:var s ...

最新文章

  1. 转《Angular4项目部署到服务器上刷新404解决办法》
  2. Ninject(二)——Modules和Kernel
  3. VTK:几何对象之EllipticalCylinderDemo
  4. django学习第77天Django框架ORM
  5. KlayGE 4.0中Deferred Rendering的改进(四):GI的神话
  6. HighChart模拟点击series的name显示隐藏
  7. 数据结构与算法 | LeetCode 224. Basic Calculator
  8. 使用WinPcap抓包分析网络协议
  9. 持续更新-Linux应用一句话
  10. java applog_个人app如何收集用户日志
  11. VUE 自定义取色器组件
  12. matlab锁相放大器,锁相放大器原理和模块实现与仿真.DOC
  13. win10安装双系统——ubuntu20.04安装步骤
  14. 两年数据对比柱形图_呕心整理4大类12个图表类型,轻松搞定数据可视化
  15. LabVIEW:自动化引用方法下Excel报表生成与存储子VI创建
  16. 树的双亲表示法(C语言实现)——树的存储结构
  17. 让物体沿椭圆轨道运动
  18. 手把手教你学AltiumDesigner之新建元件封装库
  19. 什么是readout function/readout函数
  20. eclipse中安装Subclipse插件

热门文章

  1. Deepin双系统找不到Windows启动项
  2. 裁员1700人,IBM 声称内部调整团队;谷歌将以26亿美元全现金收购Looker,绝对大手笔...
  3. noip2014 生活大爆炸版 石头剪刀布 (模拟)
  4. 【ACWing】487. 金明的预算方案
  5. 《web全栈工程师》:中总结的20条军规和必读书单
  6. Hyperledger Fabric 2.0 官方文档中文版 第6章 教程(上)
  7. python中复数类型的实部和虚部都是浮点数_Python合集之Python数据类型(一)
  8. 【每周CV论文推荐】初学视觉注意力机制有哪些值得阅读的论文?
  9. openstack 网络更改版
  10. 莫比乌斯反演学习笔记