说明:
由于string系列容器的操作方法较多却零散,分开写代码比较浪费时间,故把所有的操作方法归于一段代码。各种方法详细分布于整段代码之中,便于复习和运用。
代码展示:
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main(int argc,char *argv[])
{
string s;
//赋值方式(一)
s="123456";
//赋值方式(二)
char ss[100];
cin>>ss;
s=ss;
/*
*尾部追加字符串的方式有两种
*直接采用“+”操作符
*采用append()方法
*/
//从s的尾部追加字符
s=s+'a';
s=s+'b';
//从s的尾部追加字符串
s=s+"12233";
s=s+"444456";
//在s任意位置插入字符
String::iterator it=s.begin();
s.insert(it+1,'a');//在第1个字符前插入字符‘a’
s.insert(it+10,''b);//在第10个字符前插入字符‘b’
//append()方法
s.append("abc");//追加字符串“abc”到s的末尾
/*
*一般采用下标方式随机访问string对象的元素
*下标从0开始计算
*string对象的元素是一个char型字符
*两个相同的字符相减值为零
*/
//删除元素erase()
s.erase(it+3);//删除第三个元素
s.erase(it,it+4);//删除0-4区间上所有的元素
//清空字符串的方法
s="";
//返回字符串长度的方法
cout<<s.length()<<endl;
//字符串的判空
cout<<s.empty()<<endl;
//用replace()方法可以很方便的替换string对象中的字符
s.replace(3,3,"good");//从第三个字符开始将连续的三个字符替换为good
//用reverse()方法反向排序string对象
s.reverse(s.begin(),s.end());
/*
*string对象可以作为vector向量的元素,类似于字符串数组
vector< String> v;
v.push_back("芝加哥");
v.push_back("hello");
cout<<v[0]<<endl;
cout<<v[1]<<endl;
cout<<v[0][0]<<endl;//输出“芝”
cout<<v[1][0]<<endl;//输出“h”
*/
cout<<s<<" ";
return 0;
}