string a, b;//定义两个字符串变量
a ="123 456";//赋值
b ="abc def";
a = b;//赋值
len = a.length();
len = a.size();//返回字符串a的长度 同a.length()
cin >> a;//输入,以空格换行结束getline(cin, a);//输入,以换行结束swap(a, b);printf("%s\n", a.c_str());//.c_str() 以C的标准输出
重载
'+'连接两个字符串
a = a + b;
‘>’、’<’、’==’、’!='字典序比较
a>b
a<b
a==b
a!=b
.insert()插入函数
string a, b;
a ="123 456";
b ="abc def";
a.insert(3, b);//在a字符串的第三个位置插入b字符串//得到"123abc def 456"
.erase()删除函数
string a;
a ="123 456";
a.erase(i, j);//删除a字符串i位置开始的j个字符
a.erase(0,2);//得到"3 456"
.clear()清除函数
string a;
a ="123 456";
a.clear();//a.size()得到0
.replace() 替换函数
string a, b;
a ="123 456";
b ="abc def";
a.replace(i, j, b);//将字符串a的i位置开始往后的j个字符 替换为b字符串
a.replace(0,1, b);//得到"abc def23 456"
.find()查找函数
string a, b;
a ="123 456 456";
b ="45";
a.find(b);//返回b字符串在a字符串第一次出现的起始位置,返回4
a.find(b,5);//返回b字符串在a字符串 的第5个位置之后 第一次出现的起始位置,返回8
.rfind()查找函数 (从后面开始找)
string a, b;
a ="123 456 456";
b ="45";
a.rfind(b);//返回b字符串在a字符串从后面开始第一次出现的起始位置,返回8
a.rfind(b,7);//返回b字符串在a字符串从后面开始 的第5个位置之前 第一次出现的起始位置,返回4
注:find()和rfind()函数若没有找到要找的字符串,那么返回-1。(打印出来不是-1)
.substr()函数
string a, b;
a ="123 456 456";
a.substr(i, j);//取出a字符串从i开始的j个字符
a.substr(2,5);//得到"3 456"