c语言实现串的替换。有两个字符串S、T,将S串中从Pos开始,长度为Len的子串,用T串进行替换,输出相关结果。
时间: 2023-06-11 10:09:25 浏览: 109
c语言实现字符串替换
5星 · 资源好评率100%
以下是 C 语言实现串的替换的代码,其中使用了标准库函数 strncpy 和 strcat:
```c
#include <stdio.h>
#include <string.h>
void replace(char s[], char t[], int pos, int len) {
char temp[1000]; // 临时存储替换后的字符串
int slen = strlen(s);
int tlen = strlen(t);
int i;
// 复制替换点之前的字符串
strncpy(temp, s, pos);
temp[pos] = '\0';
// 添加替换的字符串
strcat(temp, t);
// 添加替换点后面的字符串
if (pos + len < slen) {
strcat(temp, s + pos + len);
}
// 将替换后的字符串复制回原字符串
for (i = 0; i < strlen(temp); i++) {
s[i] = temp[i];
}
s[i] = '\0';
}
int main() {
char s[] = "hello world";
char t[] = "cat";
int pos = 6;
int len = 5;
replace(s, t, pos, len);
printf("替换后的字符串为:%s\n", s);
return 0;
}
```
在上述代码中,我们首先定义一个临时数组 `temp`,用来存储替换后的字符串。然后我们将原字符串中替换点之前的字符串复制到 `temp` 中,接着将需要替换的字符串拼接到 `temp` 中,最后将替换点之后的字符串拼接到 `temp` 中。最后将 `temp` 中的字符串复制回原字符串即可完成替换。
阅读全文