linux c 替换字符串中的子字符串
时间: 2023-12-27 07:05:14 浏览: 104
在 C 语言中可以使用字符串库函数 `strstr()` 和 `strcpy()`,以及字符数组来实现替换字符串中的子字符串。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void replace(char *str, char *sub, char *rep) {
int len_str = strlen(str);
int len_sub = strlen(sub);
int len_rep = strlen(rep);
char buffer[1000];
char *index;
while ((index = strstr(str, sub))) {
strncpy(buffer, str, index - str);
buffer[index - str] = '\0';
strcat(buffer, rep);
strcat(buffer, index + len_sub);
strcpy(str, buffer);
}
}
int main() {
char str[1000] = "Hello, world!";
char sub[100] = "world";
char rep[100] = "ChitChat";
replace(str, sub, rep);
printf("%s\n", str);
return 0;
}
```
这个示例代码中,`replace()` 函数使用了 `strstr()` 函数找到子字符串在原字符串中的位置,然后使用 `strcpy()` 和字符数组来替换子字符串。最后,将替换后的字符串复制回原字符串中。
阅读全文