前言
本系列STL是使用vs2022+C++20版本特性来写的。
在C++标准模板库(STL)的众多容器中,string类是处理字符串的重要工具。它提供了丰富的函数和操作符,使得字符串的操作变得简单而高效。本文将介绍string类的基础用法,包括增加、删除、修改和查找字符串的方法。
一、插入
1.中间插入
1、basic_string &insert( size_type index, const basic_string &str );
作用:在指定的位置插入另一个字符串到当前字符串中。
参数:index 表示插入位置的索引,str 是要插入的字符串。
返回值:返回修改后的字符串的引用。
示例代码如下:
std::string str = "Hello"; std::string insertStr = " World"; str.insert(5, insertStr); // 结果为 "Hello World"
2、basic_string &insert( size_type index, const char *str );
功能:在指定的位置插入一个C风格字符串到当前字符串中。
参数:index 表示插入位置的索引,str 是要插入的C风格字符串。
返回值:返回修改后的字符串的引用。
示例代码
std::string str = "Hello"; const char* insertStr = " World"; str.insert(5, insertStr); // 结果为 "Hello World"
3、basic_string &insert( size_type index1, const basic_string &str, size_type index2, size_type num );
功能:在指定的位置插入另一个字符串的一部分到当前字符串中。
参数:index1 表示插入位置的索引,str 是要插入的字符串,index2 表示要插入字符串的起始位置,num 表示要插入的字符个数。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; std::string insertStr = " World"; str.insert(5, insertStr, 1, 3); // 结果为 "Hello Worllo"
4、basic_string &insert( size_type index, const char *str, size_type num );
功能:在指定的位置插入一个C风格字符串的一部分到当前字符串中。
参数:index 表示插入位置的索引,str 是要插入的C风格字符串,num 表示要插入的字符个数。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; const char* insertStr = " World"; str.insert(5, insertStr, 1, 3); // 结果为 "Hello Worllo"
5、basic_string &insert( size_type index, size_type num, char ch );
功能:在指定的位置插入指定数量的字符到当前字符串中。
参数:index 表示插入位置的索引,num 表示要插入的字符个数,ch 表示要插入的字符。
返回值:返回修改后的字符串的引用。
std::string str = "Hello"; char ch = '-'; str.insert(5, 3, ch); // 结果为 "Hello---"
2.尾巴插入
+=拼接
当使用 += 运算符对 std::string 进行拼接时,它会将右侧的字符串附加到左侧的字符串末尾,从而修改左侧字符串的值。
示例代码如下:
std::string str = "Hello"; std::string appendStr = " World"; str += appendStr; std::cout << str << std::endl; // 输出:Hello World
appand
1、basic_string &append( const basic_string &str );
功能:将给定字符串附加到当前字符串的末尾。
参数:str 是要附加的字符串。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; std::string appendStr = " World"; str.append(appendStr); // 结果为 "Hello World"
2、basic_string &append( const char *str );
功能:将给定的C风格字符串附加到当前字符串的末尾。
参数:str 是要附加的C风格字符串。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; const char* appendStr = " World"; str.append(appendStr); // 结果为 "Hello World"
3、basic_string &append( const basic_string &str, size_type index, size_type len );
功能:将给定字符串的一部分附加到当前字符串的末尾。
参数:str 是要附加的字符串,index 表示要附加字符串的起始位置,len 表示要附加的字符个数。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; std::string appendStr = " World"; str.append(appendStr, 1, 3); // 结果为 "Hello Wor"
4、basic_string &append( const char *str, size_type num );
功能:将给定C风格字符串的一部分附加到当前字符串的末尾。
参数:str 是要附加的C风格字符串,num 表示要附加的字符个数。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; const char* appendStr = " World"; str.append(appendStr, 1, 3); // 结果为 "Hello Wor"
5、basic_string &append( size_type num, char ch );
功能:将指定数量的字符附加到当前字符串的末尾。
参数:num 表示要附加的字符个数,ch 表示要附加的字符。
返回值:返回修改后的字符串的引用。
示例代码:
std::string str = "Hello"; char ch = '-'; str.append(3, ch); // 结果为 "Hello---"
总结
在C++标准模板库(STL)的众多容器中,string类是处理字符串的重要工具。它提供了丰富的函数和操作符,使得字符串的操作变得简单而高效。本文将介绍string类的基础用法,包括增加、删除、修改和查找字符串的方法。