#include<iostream>
#include<string>//string需要<string>头文件
using namespace std;
int main()
{
//新建一个字符串
string s1 = "abcdef";
string s2("welcome");
char s[] = "seeyouagain";
string s3();
//追加字符串
//s1.append("loveu");
//s1.append("lovue", 1, 3);
// 从新字符串的第一位开始添加
//s1.append("lovue", 3);
//
//s1.append(4, '9');
//assign 与上面的使用方法是一样的,只不过是替代原内容
cout << s1 << endl;
cout << s1.at(5) << endl;
//输出第五位
s1.clear();
cout << s1 << endl;
//erase第一个表示下标,第二个为长度,超出会报错哦
cout << s2.erase(2, 9) << endl;
cout << s2.empty() << endl;
s2.append(2, '9');
//length()=size(),表示字符串的长度
//capacity()
cout << s2.length() << endl;
cout << s2.size() << endl;
cout << s2.capacity() << endl;//是不变的
cout << "*******************" << endl;
//c_str()和data()返回char[]
cout<<s2.c_str()<<endl;
cout << "*******************" << endl;
//compare字符串比较 int
string s4("abcd");
string s5("abc");
cout << s4.compare(s5) << endl;//s4与s5比较 相较于s5来说 1
cout << s5.compare(s4) << endl;//
cout << "*******************" << endl;
//substr获取字串 string返回值
//第一个index超过报错,字数超过不显示 返回值string
cout << s4.substr(1, 8) << endl;
cout << "*******************" << endl;
//insert在下标2处插入5个8(三个参数) 返回值string
cout << s4.insert(2, 5,'8') << endl;
//insert在下标2处插入5个8(两个参数) 返回值string
cout << s4.insert(2, "wuwu") << endl;
//replace在下标2开始的5个字符替换为hehe 返回值string
cout << s4.replace(2, 5, "he") << endl;
//find()函数返回unsigned int
string s6("abcdefg");
cout << s6.find('9', 2) << endl;//没有就输出乱码
//下标可有可无
return 0;
}