已知字符串subStr为str的子串,在母串中找出subStr,在其前面插入一个@字符,需保持子串内容完整性使用c语言
时间: 2023-05-30 18:03:16 浏览: 213
实现如下:
```c
#include <stdio.h>
#include <string.h>
void insertAt(char *str, char *subStr) {
char *p = strstr(str, subStr); // 查找子串
if (p != NULL) {
int len = strlen(subStr); // 计算子串长度
int index = p - str; // 计算子串在母串中的索引位置
char tmp[100] = {0}; // 临时存储插入@字符后的母串
strncpy(tmp, str, index); // 将子串前面的部分复制到临时变量中
tmp[index] = '@'; // 插入@字符
strncpy(tmp + index + 1, str + index, len); // 将子串复制到临时变量中
strcpy(tmp + index + len + 1, str + index + len); // 将子串后面的部分复制到临时变量中
strcpy(str, tmp); // 将临时变量中的字符串复制回原来的字符串中
}
}
int main() {
char str[100] = "hello world!";
char subStr[10] = "world";
insertAt(str, subStr);
printf("%s\n", str); // 输出:hello @world!
return 0;
}
```
阅读全文