string 是C++中的字符串。 字符串对象是一种特殊类型的容器,专门设计来操作的字符序列。 不像传统的c-strings,只是在数组中的一个字符序列,我们称之为字符数组,而C + +字符串对象属于一个类,这个类有很多内置的特点,在操作方式,更直观,另外还有很多有用的成员函数。 string 的定义为:typedef basic_string<char> string;
成员函数(Member functions)
(constructor) | 构建字符串对象 (构造函数成员) |
operator= | 字符串赋值 (公有成员函数) |
以下全为公有成员函数
迭代器(Iterator)
begin | 返回指向字符串开始处的迭代器 |
end | 返回指向字符串结束处之后的迭代器 |
rbegin | 返回指向反向开始处的反向迭代器,即:指向结束处的迭代器 |
rend | 返回指向反向结束处的反向迭代器,即:指向开始处之前的迭代 |
容量(Capacity)
size | 返回字符串长度 |
length | 返回字符串长度 |
max_size | 返回字符串的最大长度 |
resize | 改变字符串大小,即:多去少补 |
capacity | 返回分配存储空间大小 |
reserve | 请求改变存储空间大小 |
clear | 清空字符串 |
empty | 测试字符串是否为空 |
访问元素(Eelment access)
operator[] | 得到字符串中的字符 |
at | 得到字符串中的字符 |
修改(Modifiers)
operator+= | 追加 |
append | 追加 |
push_back | 追加字符到字符串 |
assign | 赋值 |
insert | 插入 |
erase | 从字符串中擦除一些字符 |
replace | 替换部分或全部字符 |
swap | 与另一字符串交换内容 |
字符串操作(String operation)
c_str | 得到等效的字符数组 |
data | 得到等效的字符串数据 |
get_allocator | 得到分配器 |
copy | 从字符串中复制字符序列 |
find | 查找字符 |
rfind | 从后向前查找字符 |
find_first_of | 查找某个字符第一次出现的位置 |
find_last_of | 查找某个字符最后一次出现的位置 |
substr | 生成子字符串 |
compare | 比较 |
几个比较重要的成员函数的用法:
find:
int find( TCHAR ch ) const;
int find( LPCTSTR lpszSub ) const;
int find( TCHAR ch, int nStart ) const;
int find( LPCTSTR pstr, int nStart ) const;
Parameters:
ch
要查找的字符.
lpszSub
要查找的子字符串.
nStart
要查找的字符或子串首字符的位置索引.
pstr
被查找的父字符串.
Return Value
返回被查找字符(串)的位置索引; 未找到则返回-1.
substr:
basic_string substr(size_type _Off = 0,size_type _Count = npos) const;
功能:从一个字符串复制一个从指定位置开始,并具有指定长度的子字符串。
参数:
_Off
所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0.
_Count
复制的字符数目
返回值:
一个子字符串,从其指定的位置开始
PS:如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到字符串的结尾。