记录下STL的笔记
1字符串的赋值操作
assign函数的重载与=的重载
//c++中字符串的赋值操作
string str1 = "hello c++";
string str2, str3;
str2.assign("hello world"); //
cout <<"str1中的内容"<< str1 << endl;
cout << "str2中的内容"<<str2 << endl;
str2.assign(str1); //将str1中的内容复制给str2
cout << "更改后的str2中的内容为"<<str2 << endl;
str3.assign(str1, 0, 5);// 将str1中0-5复制给str3 注意此处assign函数的重载 如果不指定第三个参数默认到最后一个位置
cout << "str3中的内容为"<<str3 << endl;
2字符串的拼接操作
append函数的重载和+的重载(和python中的函数有些类似)
//c++中字符串的拼接
string str1 = "what";
string str2 = "fuck";
string str3 = str1 + str2;
cout << "str3中的内容为" << str3 << endl;
string str4 = str3.append("it");
//string str4 = str3.append("it", 0, 2);
cout << "str4中的内容为" << str3 << endl;
3字符串的查找和替换
find函数的重载 replac函数
//字符串的查找和替换操作
string str1 = "come baby";
int pos = str1.find("b"); //返回查找到的第一个字符的下表同时注意下标从0开始
//find 从前往后查找 rfind从后往前查找 find_first_of和find函数类似
//find_first_not_of查找不符合字符的第一个坐标
cout << "查找结果" << pos << endl;
pos = str1.find("b", 6,2); //find函数的重载定义查找范围
cout << "从指定位置查找查找结果" << pos << endl;
//string str2;
str1.replace(4, 3," my "); //注意替换时字符串的长度不变 且当字符长度大于范围时 以字符的长度替代
cout << "str1替换的结果为" << str1 << endl;
4访问字符串中的数据
at和数组方式
//访问字符串中的数据
string str1 = "i love you";
cout << "数组访问法" << str1[0] << endl;
cout << "at方式访问" << str1.at(2) << endl;
//字符串的翻转
reverse(str1.begin(), str1.end());
cout << "str1:" << str1 << endl;
5字符串的插入与删除
insert函数的调用与erase函数clear函数
//字符串的插入与删除
string str1 = "hello";
str1.insert(5, " c++");
string str2 = "hello C++";
str2.erase(0, 5); //删除下标0-5的字符
cout << "str2" << str2 << endl;
str2.clear(); //将字符串中的内容全部删除
cout << "str2" << str2 << endl;