字符传替换
/*
str:原始字符串("abc111eff"),old_value:需要替换的("111"), new_value: 最新的("222"),结果str变为"abc222eff"
*/
void replace_str(char *str, char *old_value, char *new_value)
{
char des[4096] = {0};
char *p = strstr(str, old_value);
strncpy(des, str, p - str);
strcat(des, new_value);
strcat(des, p + strlen(old_value));
bzero(str, strlen(str));
sprintf(str, "%s", des);
}
插入指定的字符串
#include<stdio.h>
#include <string.h>
//abcdd(cedf)erf
void insert(char *str, char *position, char *content)
{
int len = strlen(str);
char begin[len];
bzero(begin, len);
char end[len];
bzero(end, len);
strncpy(begin, str, position - str);
strcpy(end, position);
bzero(str, strlen(str));
strcat(str, begin);
strcat(str, content);
strcat(str, end);
str[len + strlen(content)] = '\0';
}
int main()
{
char str[64] = "abcdefghigklmn";
puts(str);
char *p = strstr(str, "efg");
insert(str, p, "111");
puts(str);
}