C++string类库函数笔记

一、追加,插入,删除,替换
string s ;
getline(cin,s); //input:ABCDEFG
s.append("ABC" ); //末尾追加ABCDEFGABC
s.insert(7,"abc ");//给定起始位置插入内容ABCDEFGabcABC
s.erase(7,3); //给定起始位置,删除指定长度的内容(s[7],s[8],s[9])ABCDEFGABC
s.replace(7,2,"aaaa");//给定起始位置,给定长度,用给定内容替换ABCDEFGaaaaC
二、查找
string s1;
unsigned found = s.find(s1); //返回找到子串的起始位置
if (found!=string::npos) //默认设置:字符串的结束位置
cout << "first " << s1 <<" found at: " << found ;
found=s.find(s1,found+1);//从未查找过的位置开始下一次查找
if (found!=string::npos)
cout << "second " << s1 <<" found at: " << found;
三、获取子串
string s2 = s.substr (2,3);//给定起始位置,给定长度,截取子串CDE
四、运算符操作= + == !=
string account1;
account1 = "zhangsan";
string server = "qq.com";
cout << account1 + "@" + server << endl;
string newaccount ;
getline(cin,newaccount);
if(newaccount != account1) { cout<<“false"; }
五、交换
string s1(“ABC”);
string s2(“BCD”);
Swap(s1,s2);//s1=”BCD”,s2=”ABC”
//或:swap(s1[0],s1[1]);//s1=”BAC”
六、获取长度
s.size();//返字符串的长度。
s.length();//返回字符串的长度。
七、其他函数
s.max_size();//返回字符串的最大大小。
s.capacity();//返回已分配存储的大小。
s.clear();//清除字符串。
s.empty();//测试字符串是否为空。