文章目录
- 一、string 字符串转换 - std::transform 函数
- 1、std::transform 函数原型说明
- 2、代码示例 - string 类 transform 函数转换
- 二、string 字符串翻转 - std::reverse 函数
- 1、std::reverse 函数原型说明
- 2、代码示例 - std::reverse 函数
一、string 字符串转换 - std::transform 函数
1、std::transform 函数原型说明
C++ 的 std::transform
函数是 <algorithm> 头文件中的一个通用算法 , 用于对指定范围内的元素进行转换 ;
std
命令空间 中的 transform
函数 用于对 STL 容器 指定范围的内容进行转换 ;
根据提供的参数 , 该函数可以从源字符串中提取字符 , 并按照指定的格式进行转换 , 然后返回一个新的字符串 ;
template< class InputIt, class OutputIt, class UnaryOperation >
OutputIt transform( InputIt first, InputIt last, OutputIt d_first, UnaryOperation unary_op );
template< class InputIt1, class InputIt2, class OutputIt, class BinaryOperation >
OutputIt transform( InputIt1 first1, InputIt1 last1, InputIt2 first2, OutputIt d_first, BinaryOperation binary_op );
参数说明 :
- first : 输入范围的 起始迭代器 , 表示要转换的元素范围 ;
- last : 输入范围的 终止迭代器 , 表示要转换的元素范围 ;
- d_first : 输出范围的起始迭代器 , 表示转换后的元素应该被写入的范围 ;
- unary_op 一元操作函数对象 : 用于对输入范围内的每个元素进行转换 ;
- binary_op 二元操作函数对象 : 用于将输入范围1中的元素与输入范围2中的元素进行组合转换 ;
操作函数对象 :
- toupper : 将字符串转为 大写字母 ;
- tolower : 将字符串转为 小写字母 ;
2、代码示例 - string 类 transform 函数转换
代码示例 :
#include "iostream"
using namespace std;
#include "string"
#include "algorithm"
int main() {
string s1 = "Tom And Jerry";
// 将字符串转为大写字母
transform(s1.begin(), s1.end(), s1.begin(), toupper);
// 打印 s1值
cout << "s1 = " << s1 << endl;
// 将字符串转为小写字母
transform(s1.begin(), s1.end(), s1.begin(), tolower);
// 打印 s1值
cout << "s1 = " << s1 << endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
return 0;
};
执行结果 :
s1 = TOM AND JERRY
s1 = tom and jerry
请按任意键继续. . .
二、string 字符串翻转 - std::reverse 函数
1、std::reverse 函数原型说明
std::reverse
是 <algorithm> 头文件中 的一个 算法函数 , 用于反转给定 STL 容器 范围内的元素的顺序 ;
std::reverse
函数原型 :
template< class BidirectionalIt >
void reverse( BidirectionalIt first, BidirectionalIt last );
参数说明:
- first : 指向要反转的范围的 起始元素 的双向迭代器 ;
- last : 指向要反转的范围的 终止元素 的双向迭代器 ;
2、代码示例 - std::reverse 函数
代码示例 :
#include "iostream"
using namespace std;
#include "string"
#include "algorithm"
int main() {
string s1 = "Tom And Jerry";
// 将字符串 翻转
reverse(s1.begin(), s1.end());
// 打印 s1值
cout << "s1 = " << s1 << endl;
// 控制台暂停 , 按任意键继续向后执行
system("pause");
return 0;
};
执行结果 :
s1 = yrreJ dnA moT
请按任意键继续. . .