怎么用C语言写一个字符串替换
时间: 2023-11-25 22:04:28 浏览: 109
以下是一种用C语言实现字符串替换的方法:
```c
#include <stdio.h>
#include <string.h>
void replace(char *str, char *old, char *new){
char *pos, temp[1000];
int index = 0;
int oldLen = strlen(old);
int newLen = strlen(new);
// 在字符串中找到需要替换的子串并替换
while ((pos = strstr(str, old)) != NULL){
// 将pos前面的字符串复制到temp中
strncpy(temp + index, str, pos - str);
index += pos - str;
// 将新的字符串复制到temp中
strncpy(temp + index, new, newLen);
index += newLen;
// 更新str指针
str = pos + oldLen;
}
// 将剩余的字符串复制到temp中
strcpy(temp + index, str);
// 将temp中的字符串复制回原字符串
strcpy(str, temp);
}
int main(){
char str[1000] = "hello world, world";
char old[10] = "world";
char new[10] = "cat";
replace(str, old, new);
printf("%s", str);
return 0;
}
```
上面的代码中,replace函数用于替换一个字符串中的指定子串。函数中使用了strstr函数来找到需要替换的子串的位置,然后使用strncpy函数将需要替换的子串前面的字符串和新的字符串复制到一个临时数组中,最后使用strcpy函数将临时数组中的字符串复制回原字符串。在主函数中,我们定义了一个字符串、一个需要替换的子串和一个新的字符串,并将它们作为参数传递给replace函数来进行替换。
阅读全文