精通C++:string类型的运用与操作
需积分: 10 135 浏览量
更新于2024-09-12
收藏 47KB DOC 举报
插入"字符或字符串
e)erase()//删除字符或字符串
f)replace()//替换子字符串
g)find()//查找子字符串
h)substr()//提取子字符串
i)compare()//比较字符串
j)size(),length()//获取字符串长度
k)empty()//检查字符串是否为空
l)capacity()//获取当前容量
m)reserve()//预留存储空间
n)resize()//调整字符串大小
o)[ ]//访问特定位置的字符
p)c_str(),data()//获取C风格字符串
了解了这些基本操作后,我们来深入探讨每个函数的功能和用法。
首先,赋值操作可以用`=`, `assign()`来实现。例如,`Str = "Hello"` 或 `Str.assign("World")` 都可以将字符串Str设置为"Hello"或"World"。
`swap()`函数用于交换两个字符串的内容,如`Str.swap(OtherStr)`会将Str和OtherStr的内容互换。
对于在尾部添加字符或字符串,我们可以使用`+=`, `append()`, 或 `push_back()`。例如,`Str += '!'`会在末尾添加感叹号,`Str.append("C++")`则会添加"C++"。
`insert()`函数允许我们在指定位置插入字符或字符串,如`Str.insert(3, " is ")`会在索引3的位置插入" is "。
`erase()`函数可以删除指定位置的字符或一段字符串,如`Str.erase(5, 3)`会删除从索引5开始的3个字符。
`replace()`用于替换子字符串,如`Str.replace(7, 4, "awesome")`会将索引7开始的4个字符替换为"awesome"。
`find()`函数查找子字符串的位置,返回第一个匹配项的索引,找不到则返回`string::npos`。
`substr()`可以提取字符串的一部分,例如`Str.substr(1, 3)`返回从索引1开始的3个字符。
`compare()`函数对字符串进行比较,返回值可以判断两个字符串的大小关系。
`size()`和`length()`返回字符串的长度,`empty()`检查字符串是否为空,`capacity()`得到当前已分配的内存大小。
`reserve()`预分配内存,以避免频繁的内存重分配,`resize()`改变字符串的长度,可以填充指定字符。
`[ ]`运算符访问字符串中的单个字符,如`char ch = Str[0]`。
`c_str()`和`data()`返回C风格的字符数组,便于与C语言的字符串接口兼容。
这些操作使得C++的`string`类型非常强大和灵活,能够处理复杂的字符串操作,同时避免了手动管理内存的问题。通过熟练掌握这些函数,你可以高效地在C++程序中处理字符串,提高代码质量和可读性。
11011 浏览量
1469 浏览量
205 浏览量
115 浏览量
109 浏览量
2023-05-23 上传
2023-05-12 上传
124 浏览量
2023-06-02 上传
qzk1989
- 粉丝: 0
- 资源: 4
最新资源
- μC_OS-Ⅱ中文资料大全
- Linux设备驱动开发技术及应用
- uCOS-II 在ATmega128上的移植.doc
- Linux Uart Driver
- autocad-PPT
- [计算机科学经典著作].Prentice.Hall.-.The.C.Programming.Language.2nd.Edition.pdf
- Linux Programming by Example - The Fundamentals
- 简明HTML教程,适合初学者用
- AVR的GCC编程(初学者必看)
- 总线协议简介讲解I2C总线协议
- c语言程序设计经典100例
- Linker Script in Linux
- Linux System Programming
- 新一代视频压缩编码标准H.264
- Learning the Vi and Vim Editors 7th Edition
- Embedded Linux Porting