C语言中字符串操作
4)int_type 类型应是当前字符类型的整型编码
二、std::string 并不是序列容器,没有 front() 和 back() 界面用于取出前端和尾端的元素,使用 std::string::operator [] 并传递 streampos 类型取得特定元素,如 std::string::size() - 1 作为索引取得最后一个字符
三、basic_string 支持的初始化
1)默认初始化
2)分配器
3)复制构造
4)局部复制 [_Roff, _Roff + _Count)
5)局部复制 + 分配器
6)C 字符串 [_Ptr, )
7)C 字符串 + _Count [_Ptr, _Ptr + _Count)
8)C 字符串 + 分配器
9)C 字符串 + _Count + 分配器 [_Ptr, _Ptr + _Count)
10)_Count * _Ch
11)_Count * _Ch + 分配器
12)迭代器 [_ItF, _ItL)
13)迭代器 + 分配器
字符到串不能初始化,但支持 operator = 赋值和 operator += 累加赋值运算。
四、字符串的区间有效性
对串的索引访问在超过字符串的有效区间时,因为串的在实现上对内置的字符缓冲区执行下标访问,所以不会导致异常,但是将得到不可预知的结果,通常是不可用的。
将其他字符串作为右值输入时,对该串取出计数大于串大小时按串大小计算。
std::basic_string::size_type 的实际类型为 size_t,在 Visual C++ 7.1 中实现为 unsigned,std::basic_string::npos 被静态设定为
(basic_string<_Elem, _Traits, _Alloc>::size_type)(-1);
在查找子字符串等操作时,函数返回 npos 的值表示非法索引。
五、比较字符串
允许的比较对象
1)compare(s2) 其他同类型字符串
2)compare(p) C 风格字符串
3)compare(off, cnt, s2) [off, off + cnt) 同 s2 执行比较
4)compare(off, cnt, s2, off2, cnt2) [off, off + cnt) 同 s2 [off2, cnt2) 执行比较
5)compare(off, cnt, p) [off, off + cnt) 同 [p , ) 执行比较
6)compare(off, cnt, p, cnt2) [off, off + cnt) 同 [p, p + cnt2) 执行比较
返回 -1, 0, 1 作为小于、等于和大于的比较结果。
1)使用 operator += 接受其他字符串,C 风格字符串和字符
2)使用 push_back() 在尾部附加字符,并使得通过字符串构造的 back_iterator 可以访问
3)append() 附加
4)insert() 插入
5)operator +(a, b)
字符串关联运算符重载中支持 operator + 的形式
七、查找、替换和清除
1)find() 查找
2)find() 的变种
3)replace() 替换
使用迭代器的情况:
4)erase() 删除
C语言字符串操 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)