用指针在字符串的指定位置中插入字符串
时间: 2023-09-08 10:12:15 浏览: 101
可以使用指针操作实现在字符串指定位置中插入字符串的功能,具体的实现方法如下:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void insertString(char *str, const char *insert, int pos) {
int len1 = strlen(str);
int len2 = strlen(insert);
if (pos < 0 || pos > len1) {
cout << "插入位置不合法!" << endl;
return;
}
char *p = str + len1;
char *q = str + pos;
while (p >= q) {
*(p + len2) = *p;
p--;
}
p = insert + len2 - 1;
while (p >= insert) {
*(q + len2 - 1) = *p;
p--;
q--;
}
}
int main() {
char str[100] = "Hello World";
insertString(str, "Good ", 6);
cout << str << endl; // 输出:Hello Good World
return 0;
}
```
上述代码中,`insertString` 函数用于在字符串 `str` 中的指定位置 `pos` 插入字符串 `insert`,其中:
- `len1` 和 `len2` 分别表示字符串 `str` 和 `insert` 的长度;
- 如果插入位置不合法,则直接返回;
- `p` 指向字符串 `str` 的末尾,`q` 指向插入位置;
- 将 `p` 指向的字符逐个向后移动 `len2` 个位置,腾出插入位置;
- 将 `insert` 中的字符逐个向前移动 `len2` 个位置,插入到 `str` 中的指定位置。
阅读全文
相关推荐
















