精通C++:string类型的运用与操作

需积分: 10 1 下载量 96 浏览量 更新于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++程序中处理字符串,提高代码质量和可读性。