1. 构造函数
string s1(); // si = ""
string s2("Hello"); // s2 = "Hello"
2. 对 string 对象赋值
s1 = "Hello"; // s1 = "Hello"
s2 = 'K'; // s2 = "K"
3. 求字符串的长度
length() 成员函数返回字符串的长度。size() 成员函数可以实现同样的功能。
4. string对象中字符串的连接
可以使用+和+=运算符对 string 对象执行字符串的连接操作
5. string对象的比较
可以用 <、<=、==、!=、>=、> 运算符比较 string 对象
6. 求 string 对象的子串
string s1 = "this is ok";
string s2 = s1.substr(2, 4); // s2 = "is i" (4表示子串的长度)
s2 = s1.substr(2); // s2 = "is is ok"
7. 交换两个string对象的内容
swap 成员函数可以交换两个 string 对象的内容。
s1.swap(s2);
8. 查找子串和字符
string 类有一些查找子串和字符的成员函数,它们的返回值都是子串或字符在 string 对象字符串中的位置(即下标)。如果查不到,则返回 string::npos。string::npos 是在 string 类中定义的一个静态常量。
9. 替换子串
s1.replace(1, 3, "123456", 2, 4); //用 "123456" 的子串(2,4) 替换 s1 的子串(1,3)
s2.replace(n, 5, "XXX"); //将子串(n,5)替换为"XXX"
10. 删除子串
string s1("Real Steel");
s1.erase(1, 3); //删除子串(1, 3),此后 s1 = "R Steel"
s1.erase(5); //删除下标5及其后面的所有字符,此后 s1 = "R Ste"
11. 插入字符串
s1.insert(2, "123"); //在下标 2 处插入字符串"123"
13. 用 STL 算法操作 string 对象
string 对象也可以看作一个顺序容器,它支持随机访问迭代器,也有 begin 和 end 等成员函数。
string s("afgcbed");
string::iterator it = find(s.begin(), s.end(), 'c');
sort(s.begin(), s.end());
参考
http://c.biancheng.net/view/400.html