#include
#include
#include
#include

using namespace std;

int main()
{
string s = “Hello World”;
cout << s << endl;
transform(s.begin(),s.end(),s.begin(),::toupper);//小写转大写
cout << s << endl;
transform(s.begin(),s.end(),s.begin(),::tolower);大写转小写
cout << s << endl;
return 0;
}

查阅了资料,toupper和tolower在C++中定义分别在std和cctype中

而定义在std中时原型为charT toupper (charT c, const locale& loc);

transform函数:

作用是:将某操作应用于指定范围的每个元素。

transform函数有两个重载版本:

transform(first,last,result,op);
first是容器的首迭代器,last为容器的末迭代器,result为存放结果的容器,op为要进行操作的一元函数对象或sturct、class。

transform(first1,last1,first2,result,binary_op);
first1是第一个容器的首迭代器,last1为第一个容器的末迭代器,first2为第二个容器的首迭代器,result为存放结果的容器,binary_op为要进行操作的二元函数对象或sturct、class

如上,std中toupper的原型为一个二元函数,所以使用std::toupper会报错:unresolved overloaded function

但是可以这样使用:
#include
#include
#include
using namespace std;

int main()
{
string s = “Hello World”;
cout << s << endl;
transform(s.begin(),s.end(),s.begin(),(int ()(int))toupper);
cout << s << endl;
transform(s.begin(),s.end(),s.begin(),(int (
)(int))tolower);
cout << s << endl;
return 0;
}
函数指针解决

转载:https://blog.csdn.net/qq_31186409/article/details/50545682

string大小写转换相关推荐

  1. C++ string大小写转换

    1.通过单个字符转换,使用C的toupper.tolower函数实现 #include <iostream> #include <string> #include <al ...

  2. string 大小写转换

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

  3. C++ string 大小写转换

    2019独角兽企业重金招聘Python工程师标准>>> #include <iostream> #include <string> #include < ...

  4. C++ 笔记(22)— STL string 类(字符串赋值、访问、拼接、查找、翻转、大小写转换)

    1. 实例化和赋值 STL string #include <string> #include <iostream>int main () {using namespace s ...

  5. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  6. python中uppercase是什么意思_python判断大小写并转换_python中string模块相关方法(大小写转换,字符串条件判断)....

    string模块主要包含关于字符串的处理函数,在这里列举经常会使用的一些函数. 在例如获取随机密码等之类的题时可能会用到这类函数 1.string.ascii_letters 获取所有ascii码中字 ...

  7. 学习笔记——String类常用方法(字符、字节、比较、查找、替换、拆分、截取、结构、格式化、连接、入池、驱除空格、长度计算、大小写转换等)

    1.字符串与字符 在jdk1.9之前提供string数组实现了包装处理,在String类里面提供相应的转换处理方法,这些方法包含构造方法与普通方法两类. public String​(char[] v ...

  8. C++: string的大小写转换

    C++: string的大小写转换 转载 2014年12月02日 23:23:25 9806 将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并没有提供这个方法.自己 ...

  9. Java对于字符串的处理【String和int之间的转换、字符串拼接、字符串获取长度、字符串大小写转换、字符串去空格、字符串分割、字符串替换、字符串提取、字符串比较、字符串查找】

    文章目录 String字符串 和 整型int 的相互转换 String转化为int int 转换为 String 字符串拼接 使用连接运算符 "+" 使用 concat() 方法 ...

最新文章

  1. graphpad做折线图坐标轴数字_多组数据制作折线图,四步让你的图表实用又美观,老板看了都说好...
  2. android 点击退出账号,Android应用退出登录的实现方法
  3. linux 大文件切割和合并 tar分割和合并
  4. 中国煤炭工业节能减排现状研究分析及市场前景预测报告2022-2028年版
  5. how to build a paper's architecture?
  6. Linux 命令之 lspci -- 显示当前设备所有PCI总线信息
  7. 2016OSC源创会年终盛典-综合技术专场-张小刚
  8. 加载顺序_Java的web.xml组件加载顺序
  9. 决策报表服务器安装_无服务器流处理如何使决策更加容易
  10. 脊髓损伤有哪些方法方法?顾连康复方法有哪些
  11. 我学习的第一个uiautomator从创建到运行结束
  12. java如何让cpu过负荷_服务器开发过载问题如何解决
  13. 何凯明新作ViTDET:目标检测领域,颠覆分层backbone理念
  14. 14. Floyd + 朴素版Dijkstra
  15. Vue 微信扫码支付
  16. zyf的现状 (BFS+优先队列)
  17. 程序员如何写简历之项目篇(二)
  18. 消息队列在linux下实现进程间的通信;消息盒子在单片机中的代码实现
  19. 手机端上传图片出现“没有应用可执行操作”
  20. 使用QQ推广作为客服或留言(转载)

热门文章

  1. VMWare 虚拟机, CentOS7环境下 部署Cobbler (含web)
  2. AI ISP资料整理
  3. 8.3 案例实现(加载数据库sakila中的数据至数据仓库sakila_dw)
  4. 石大师装机大师怎么重装系统
  5. Cache poisoning
  6. GIF录制神器--GIF123
  7. js首次修改html无效,浅谈jQuery添加的HTML,JS失效的问题
  8. 获取IPhone相册中图片的方法(ASSets)
  9. 码、候选码、主码、全码和外码的区分
  10. “开源是一个自我实现的预言”,Shifu创始人陈永立说道