21xrx.com
2024-11-08 21:15:10 Friday
登录
文章检索 我的文章 写文章
C++字符串插入操作
2023-07-07 04:03:09 深夜i     --     --
C++ 字符串 插入操作

C++中提供了许多字符串操作函数,包括字符串插入操作。字符串插入操作可以在一个字符串中任意位置插入一段新的字符串,这个新的字符串可以是一个字符串常量、一个字符串变量或另一个字符串对象。

C++中字符串插入操作函数有insert、append和replace。其中,insert函数和append函数可以在一个字符串的任意位置插入新的字符串或者字符,而replace函数一般用于直接替换一段字符。下面分别讲解这三个函数的用法。

1. insert函数

insert函数可以在一个字符串的任意位置插入新的字符串或者字符,它的语法如下:

string& insert(int pos, const string& str); // 在pos位置插入字符串str

string& insert(int pos, const char* s);   // 在pos位置插入C风格字符串s

string& insert(int pos, size_t n, char c);  // 在pos位置插入n个字符c

string& insert(iterator p, char c);     // 在迭代器p指向位置前面插入字符c

void insert(iterator p, InputIt first, InputIt last); // 在迭代器p指向位置前面插入[first,last)区间内的元素

其中,pos表示插入的字符或字符串的位置,str是要插入的字符串,s是C风格字符串,n是插入的字符个数,p是指向插入位置的迭代器。如果使用迭代器进行插入,则可以插入任意个数的字符或字符串。

例:


string s1 = "hello";

s1.insert(2, "world");      // 在位置2插入字符串"world"

s1.insert(s1.begin() + 3, ' '); // 在第3个字符前面插入空格字符

s1.insert(s1.end(), 3, '!');   // 在字符串末尾插入3个感叹号字符

cout << s1 << endl;       // 输出:he world l o!!!

2. append函数

append函数也可以在一个字符串的末尾添加新的字符串或者字符,它的语法如下:

string& append(const string& str);    // 在字符串末尾添加字符串str

string& append(const char* s);      // 在字符串末尾添加C风格字符串s

string& append(const char* s, size_t n); // 在字符串末尾添加s的前n个字符

string& append(size_t n, char c);     // 在字符串末尾添加n个字符c

string& append(InputIt first, InputIt last); // 在末尾添加[first, last)区间内的元素

例:


string s2 = "hello";

s2.append(" world");        // 在字符串末尾添加字符串" world"

s2.append(3, '!');         // 在字符串末尾添加3个感叹号字符

s2.append(s2.begin(), s2.begin()+3); // 在字符串末尾添加前三个字符

cout << s2 << endl;         // 输出:hello world!!!

3. replace函数

replace函数一般用于直接替换一段字符,它的语法如下:

string& replace(int pos, int len, const string& str);   // 从pos位置开始,替换长度为len的字符为字符串str

string& replace(int pos, int len, const char* s);     // 从pos位置开始,替换长度为len的字符为C风格字符串s

string& replace(int pos, int len, const char* s, int n); // 从pos位置开始,替换长度为len的字符为s的前n个字符

string& replace(int pos, int len, size_t n, char c);   // 从pos位置开始,替换长度为len的字符为n个字符c

例:


string s3 = "hello world";

s3.replace(6, 5, "");       // 从第6个字符开始,删除后面5个字符

s3.replace(0, 5, "hi");      // 从第0个字符开始,替换前5个字符为字符串"hi"

s3.replace(2, 4, "LL");      // 从第2个字符开始,替换长度为4的字符为字符串"LL"

cout << s3 << endl;        // 输出:hi LLd

C++中的字符串插入操作函数可以灵活地处理字符串,实现字符串的增删改查等操作。在实际开发中,我们可以根据需要选择使用适当的函数来操作字符串,提高编码效率和代码质量。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复