string容器
【string的定义】
string的头文件:#include<string>
定义:string s; // 创建一个控字符串s
【string的函数】
string s;
注释:迭代器初始位置是从0开始的。
1. s.insert(it,pos) 在迭代器位置it前插入一个字符pos。
2. s.erase(it) 删除迭代器it的字符。括号里可以是两个迭代器的位置,表示删除两迭代器位置之间( 第一个迭代器的位置对应的字符也删除,第二个迭代器的位置不删除)的字符。
3. length()和size() 函数返回字符串的长度。
4. empty() 判断字符串是否为空,空返回1;
5. replace(a,b,"pos") 从迭代器位置a处的元素开始,练续b个元素,替换为字符串pos,替换的字符串可以 和原来不等长 。
6.find() 查找函数,括号里可以是双引号的字符串也可以是单引号的字符,如果查找到返回第一次 出在迭代器的位置,查找不到返回4294967295。
7.compare() 字符串比较函数,括号里可以是自己想比较的字符串,也可以是string类型的字符串。
8.append() 在字符串后插入字符串,括号里字符串用双引号括起
另外在字符串尾部时进行插入时可以直接用"+"来连接起来
【string的基本操作】
1. string的赋值
<span style="font-size:18px;">#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
s="hello,world"; // string的赋值
cout<<s<<endl;
s.append(" 123");
s=s+" a33"; // 从尾部添加字符串
s=s+'a'; // 从尾部添加字符
cout<<s<<endl;
return 0;
}</span>
2.string的删除
#include<string>
#include<iostream>
using namespace std;
int main()
{
string s;
string::iterator it;
s="123456789";
it=s.begin();
s.insert(it+2,'a'); // insert()在下坐标为2的字符(s[2])前插入一个字符,不能插入字符串
cout<<s<<endl;
it=s.begin(); // 重新赋值it迭代器,不然会出错
s.erase(it+3); // 删除坐标为3的元素即s[3]
cout<<s<<endl;
s.erase(it,it+4); // 删除s[0]~s[4],不包括s[4]
cout<<s<<endl;
s=""; // 清空s
cout<<s.empty()<<endl; // 判断字符串是否为空,为空返回1,非空返回0
cout<<s.length()<<endl; // 输出字符串的长度
return 0;
}
另外string还可以作为其他容器的元素如:vector<string>v;