表头文件<string>定义了所有字符串型别和函数。
字符串中的操作函数
| 操作函数 | 效果 |
|---|
| =,assign() | 赋以新值 |
| swap() | 交换两个字符串的内容 |
| +=, append(),push_back() | 添加字符 |
| insert() | 插入字符 |
| erase() | 删除字符 |
| clear() | 移除全部字符 |
| resize() | 改变字符数量 |
| replace() | 替换字符 |
| + | 串联字符串 |
| ==,!=,<,<=,>,>=,compare() | 比较字符串内容 |
| size(),length() | 返回字符数量,等效函数 |
| max_size() | 返回字符的最大可能个数 |
| empty() | 判断字符串是否为空 |
| capacity() | 返回重新分配之前的字符容量 |
| reserve() | 保留一定量内存以容纳一定数量的字符 |
| [ ],at() | 存取单一字符 |
| >>,getline() | 从stream中读取某值 |
| << | 将某值写入stream |
| copy() | 将内容复制为一个C-string |
| c_str() | 将内容以C-string形式返回 |
| data() | 将内容以字符数组形式返回 |
| substr() | 返回某个子字符串 |
| begin(),end() | 提供正常的迭代器支持 |
| rbegin(),rend() | 提供逆向迭代器支持 |
构造和析构函数
| 表达式 | 效果 |
|---|
| string s | 生成一个空字符串 |
| string s(str) | copy构造函数,生成一个str的复制品 |
| string s(str,idx) | 将string内始于位置idx的部分当作字符串s的初值 |
| string s(str,idx,len) | 将string内始于位置idx且长度最多为len的部分当作字符串s的初值 |
| string s(cstr) | 以C-string字符串cstr作为字符串s的初值 |
| string s(cstr,len) | 以C-string字符串cstr的前len个字符作为字符串s的初值 |
| string s(num,c) | 生成一个字符串,包含num个字符c |
| string s(beg,end) | 以区间[beg,end]内所有字符作为字符串s的初值 |
| s.~string() | 销毁所有字符,释放内存 |