C语言 字符串替换代码
时间: 2023-10-28 08:03:54 浏览: 632
好的,以下是一个简单的C语言字符串替换代码示例:
```c
#include <stdio.h>
#include <string.h>
void replace(char *str, const char *old, const char *new) {
char *ptr = strstr(str, old); // 在字符串 str 中查找子串 old
while (ptr != NULL) {
// 用新字符串替换旧字符串
memmove(ptr + strlen(new), ptr + strlen(old), strlen(ptr + strlen(old)) + 1);
memcpy(ptr, new, strlen(new));
ptr = strstr(ptr + strlen(new), old); // 继续查找下一个子串 old
}
}
int main() {
char str[100] = "hello world";
replace(str, "world", "little cat");
printf("%s\n", str); // 输出字符串 "hello little cat"
return 0;
}
```
希望对您有帮助!现在请问您还有其他问题吗?
相关问题
c语言文件替换字符串,C语言替换字符串
要在C语言中替换字符串,可以使用`str_replace`函数。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void str_replace(char *orig, char *rep, char *with) {
char *pos = strstr(orig, rep);
if (pos != NULL) {
size_t orig_len = strlen(orig);
size_t rep_len = strlen(rep);
size_t with_len = strlen(with);
size_t tail_len = orig_len - (pos - orig) - rep_len;
memmove(pos + with_len, pos + rep_len, tail_len + 1);
memcpy(pos, with, with_len);
str_replace(pos + with_len, rep, with);
}
}
int main() {
char str[] = "hello world";
printf("Before replace: %s\n", str);
str_replace(str, "world", "universe");
printf("After replace: %s\n", str);
return 0;
}
```
在上面的代码中,`str_replace`函数接收三个参数:原始字符串`orig`,要替换的字符串`rep`和替换后的字符串`with`。该函数使用`strstr`函数查找要替换的字符串的位置,并使用`memmove`和`memcpy`函数将要替换的字符串替换为新字符串。最后,该函数递归调用自身,以确保替换所有出现的字符串。
在`main`函数中,我们定义一个字符串`str`,并在其上调用`str_replace`函数以将字符串"world"替换为"universe"。然后,我们打印出替换后的字符串以进行验证。
阅读全文