c语言实现串的替换。有两个字符串S、T,将S串中从Pos开始,长度为Len的子串,用T串进行替换,输出相关结果。不用标准库
时间: 2023-06-12 10:04:46 浏览: 160
c语言实现字符串替换
5星 · 资源好评率100%
下面是 C 语言实现串的替换的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAXLEN 100
void replace(char *s, char *t, int pos, int len)
{
int slen = strlen(s);
int tlen = strlen(t);
int i, j;
// 移动后面的字符
for (i = pos + len; i <= slen; i++) {
s[i + tlen - len] = s[i];
}
// 插入新字符串
for (i = 0, j = pos; i < tlen; i++, j++) {
s[j] = t[i];
}
s[slen + tlen - len] = '\0'; // 添加字符串结束符
}
int main()
{
char s[MAXLEN], t[MAXLEN];
int pos, len;
printf("请输入原字符串S:");
scanf("%s", s);
printf("请输入替换字符串T:");
scanf("%s", t);
printf("请输入要替换的起始位置Pos:");
scanf("%d", &pos);
printf("请输入要替换的长度Len:");
scanf("%d", &len);
replace(s, t, pos, len);
printf("替换后的字符串为:%s\n", s);
return 0;
}
```
使用示例:
```
请输入原字符串S:hello, world!
请输入替换字符串T:hi
请输入要替换的起始位置Pos:3
请输入要替换的长度Len:5
替换后的字符串为:helhi, world!
```
注:该代码仅适用于 ASCII 字符串,如果需要支持 Unicode 字符串,请根据具体情况进行修改。
阅读全文