transform函数转换大小写

您所在的位置:网站首页 dynasty大小写用法 transform函数转换大小写

transform函数转换大小写

2024-06-22 00:29| 来源: 网络整理| 查看: 265

新版 2018/7/3更新 直接使用transform函数,第四个参数使用lambda表达式即可 代码如下:

transform(word.begin(),word.end(),new_word.begin(),[](char c)->char { return toupper(c);});

这样就行了。变量word是旧字符串,new_word是新字符串。

旧版

C++中没有提供对string串进行直接大小写转换的函数,只能采用toupper & tolower函数对单个字符进行转换;

可以使用STL中的algorithm头文件中函数实现;

< algorithm > : transform函数

transform参数如下: /* template < class InputIterator, class OutputIterator, class UnaryOperator > OutputIterator transform ( InputIterator first1, // 源容器的起始地址 InputIterator last1, // 源容器的终止地址 OutputIterator result, // 目标容器的起始地址 UnaryOperator op ); // 函数指针 // typedef 目标容器元素类型 (*UnaryOperator)(源容器元素类型); template < class InputIterator1, class InputIterator2, class OutputIterator, class BinaryOperator > OutputIterator transform ( InputIterator1 first1, // 源容器1的起始地址 InputIterator1 last1, // 源容器1的终止地址 InputIterator2 first2, // 源容器2的起始地址,元素个数与1相同 OutputIterator result, // 目标容器的起始地址,元素个数与1相同 BinaryOperator binary_op ); // 函数指针 // typedef 目标容器元素类型 (*BinaryOperator)(源容器1元素类型,源容器2元素类型); //* 注意:(错误演示) #include #include #include using namespace std; int main() { string word; cin>>word; transform(word.begin(), word.end(), word.begin(), toupper);//转换成大写 cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3