如何用c++替换char数组中的指定内容?
时间: 2023-04-10 13:02:36 浏览: 269
C++ 查找并替换指定字符串
您可以使用C语言中的字符串替换函数来替换char数组中的指定内容。例如,您可以使用str_replace函数来实现这个功能。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
char* str_replace(char* str, char* old, char* new) {
char* result;
int i, count = 0;
int newlen = strlen(new);
int oldlen = strlen(old);
// 计算需要替换的次数
for (i = 0; str[i] != '\0'; i++) {
if (strstr(&str[i], old) == &str[i]) {
count++;
i += oldlen - 1;
}
}
// 分配足够的内存
result = (char*)malloc(i + count * (newlen - oldlen) + 1);
i = 0;
while (*str) {
if (strstr(str, old) == str) {
strcpy(&result[i], new);
i += newlen;
str += oldlen;
} else {
result[i++] = *str++;
}
}
result[i] = '\0';
return result;
}
int main() {
char str[] = "Hello, World!";
char old[] = "World";
char new[] = "Lua";
char* result = str_replace(str, old, new);
printf("%s\n", result);
free(result);
return 0;
}
```
这个程序将会输出:Hello, Lua!
阅读全文