【C++STL基础入门】深入浅出string类insert和appand

简介: 【C++STL基础入门】深入浅出string类insert和appand

前言


本系列STL是使用vs2022+C++20版本特性来写的。

21be7f0436cb45a0bdc5efc756ed0f68.png

在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类的基础用法,包括增加、删除、修改和查找字符串的方法。

c61e1971b51141d99fb8d4cf9c9c9ae2.png

相关文章
|
9天前
|
存储 算法 C++
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
文章详细探讨了C++中的泛型编程与STL技术,重点讲解了如何使用模板来创建通用的函数和类,以及模板在提高代码复用性和灵活性方面的作用。
24 2
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
|
2月前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
1月前
|
编译器 Linux C语言
C++基础入门
C++基础入门
|
2月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
17 1
|
2月前
|
存储 算法 编译器
[C++] STL简介
[C++] STL简介
23 1
|
2月前
|
存储 算法 C++
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
37 2
|
1月前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
2月前
|
存储 C++
C++ dll 传 string 类 问题
C++ dll 传 string 类 问题
21 0
|
2月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
32 0
|
2月前
|
安全 编译器 容器
C++STL容器和智能指针
C++STL容器和智能指针