string字符容器
1.创建string对象:
#include<string>
string s;
2.给string对象赋值
直接给字符串对象赋值s="hello,c++STL.";
把字符指针赋给一个字符串对象
string s;
char ss[1000];
cin>>ss;
s=ss;
3.给string对象插入字符
- 从string对象尾部添加字符
s=s+'a';
- 从string对象尾部追加字符串
直接采用“+”操作符s=s+"abc";
采用append()方法s.append("abc");
- 给string对象插入字符
string::iterator it;
it=s.begin();
s.insert(it+1,'p'); //把字符'p'插入到第2个字符前
4.访问string对象的元素
- 下标法
s[0];
5.删除string对象的元素
- 清空一个字符串,直接给它赋空字符串即可
- 使用erase()方法删除迭代器所指的那个元素或一个区间所有元素
string::iterator it=s.begin();
s.erase(it+3); //删除第4个元素
s.erase(it,it+4); //删除1~5区间的元素[0,4)左闭右开
s=""; //清空字符串
6.返回string对象的长度
s.length();
s.empty(); //判断是否为空
7.替换string对象的字符
s.replace(3,3,"good"); //从第3个元素开始,将连续的3个字符替换为"good"
8.搜索string对象的元素或子串
- 采用find()方法查找,查到返回下标值,否则返回-1
s.find('c');
s.find("cat");
9.string对象的比较
- 使用compare()方法与其他字符串相比较,如果它比对方大返回1,它比对方小返回-1,相等返回0;
s="cat dog cat";
s.compare("cat"); //s比cat大返回1
s.compare("cat dog cat"); //相等返回0
10.用reverse反向排序string对象
reverse(s.begin(),s.end());
11.string对象作为vector元素
#include<string>
#include<vector>
#include<iostream>
using namespace std;
int main()
{
vector<string> v;
v.push_back("Jack");
cout<<v[0]<<endl<<v[0][0]<<endl<<v[0].length()<<endl;
return 0;
}
- 结果为
Jack
J
4
12.string类型的数字化处理
s[i]-'0';