先上一篇介绍string类的,这篇还不错:c++中的string常用函数用法总结
常用操作:
a) =,assign() //赋以新值
b) swap() //交换两个字符串的内容
c) +=,append(),push_back() //在尾部添加字符
d) insert() //插入字符
e) erase() //删除字符
f) clear() //删除全部字符
g) replace() //替换字符
h) + //串联字符串
i) ==,!=,<,<=,>,>=,compare() //比较字符串
j) size(),length() //返回字符数量
k) max_size() //返回字符的可能最大个数
l) empty() //判断字符串是否为空
m) capacity() //返回重新分配之前的字符容量
n) reserve() //保留一定量内存以容纳一定数量的字符
o) [ ], at() //存取单一字符
p) >>,getline() //从stream读取某值
q) << //将谋值写入stream
r) copy() //将某值赋值为一个C_string
s) c_str() //将内容以C_string返回
t) data() //将内容以字符数组形式返回
u) substr() //返回某个子字符串
v)查找函数
w)begin() end() //提供类似STL的迭代器支持
x) rbegin() rend() //逆向迭代器
y) get_allocator() //返回配置器
1.substr
basic_string substr( size_type index, size_type num = npos ); substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值 string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。直接上例子:
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string str="We think in generalities, but we live in details.";//赋值
string str2 = str.substr (3,5); // "think"(从位置3开始截取往后5个字符的串)
size_t pos = str.find("live"); // 返回"live"的索引
string str3 = str.substr (pos); // 截取“live”之后的所有字符
cout << str2 << ' ' << str3 << '\n';
return 0;
}
输出:
think live in details.
2.用printf输出string类型的时候
string s = "中国";
printf("%s" , s.c_str());//string中c_str()成员方法返回当前字符串的首字符地址
3.从string对象尾部添加字符
用“+”操纵符,如:
string s;
s+='a';
s+='b';
s+='c';
cout<<s<<endl;
运行结果:
abc
4.从string对象尾部追加字符串:
和前面一样:如s+='abc';这里不再表述
5.