c语言替换字符串部分
时间: 2024-09-21 17:12:03 浏览: 48
在C语言中,你可以使用`strstr()`函数找到需要替换的部分,然后使用`strcpy()`或`strncpy()`将新字符串插入到原字符串的指定位置。下面是一个简单的例子,展示了如何替换一个字符串中的特定子串:
```c
#include <string.h>
#include <stdio.h>
void replace_string(char* str, const char* search, const char* replacement) {
char* found = strstr(str, search); // 查找搜索词第一次出现的位置
if (found != NULL) { // 如果找到了
// 计算新字符串在原字符串中的起始位置和长度
size_t new_start = found - str; // 起始位置
size_t old_length = strlen(search); // 需要替换的部分的长度
// 将新字符串插入到原始字符串中
memmove(found + strlen(replacement), found, old_length); // 移动剩余字符
strncpy(found, replacement, strlen(replacement)); // 写入新的字符串
}
}
int main() {
char str[] = "Hello, world!";
replace_string(str, "world", "CSDN");
printf("Modified string: %s\n", str);
return 0;
}
```
在这个例子中,如果输入的字符串是"Hello, world!",程序会将其修改为"Hello, CSDN!"。
阅读全文