#include"bits/stdc++.h"//string类
using namespace std;
int main()
{
// printf("%d\n",123);
// printf("%s\n","abc");
string s1;//创建string类
char* s="abcd";//字符串
string s2(s);
cout<<s2<<endl;//a(b):用b给a赋值
string s3(13,'b');
cout<<s3<<endl;//初始化s3为13个‘b’字符
string s4=s3;
cout<<s4<<endl; //用s3给s4赋值
string s5;
s5.assign(s,2);
cout<<s5<<endl;//把字符串s的前n个字符赋给s5,限制s仅为char*
s3.assign(2,'c');
cout<<s3<<endl;//改变s3为2个c
s3+=s5;//重载运算符+=
cout<<s3<<endl; //也就是拼s5至s3
//ps:没有-=
s3.append(s4,0,3);
cout<<s3<<endl; //拼接s4从0位开始的3个字符至s3结尾
int a=s3.find('b');
int b=s3.find("bb");//找最先出现的位置
cout<<a<<" "<<b<<endl;
//find向后 rfind向前查找
a=s3.rfind(s,4,2);//从4位置查找s的前2个字符第一次位置。
b=s3.rfind(s5,4);//找最后出现的位置 //从0开始
cout<<a<<" "<<b<<endl;
s3.replace(0,1,"NBb");
cout<<s3<<endl;//0-1位置 替换为 string
int ab=s4.compare(s3);
cout<<ab<<endl; //比较长度,返回-1或1
cout<<s3[3]<<" "<<s3.at(3)<<endl;//访问3号位
s3.insert(1,s2);
cout<<s3<<endl;//在1处插入s2
s3.insert(4,4,'h');cout<<s3<<endl;// 在4处插入4个h
s3.erase(0,2);cout<<s3<<endl;//删除0处及后2个字符
string s6=s3.substr(1,3);//返回由1处开始的3个字符组成的字符串
cout<<s6;
return 0;
}