- 论坛徽章:
- 0
|
大家有没有用C写过替换字符串的函数?
#include <stdio.h>;
#include <string.h>;
#include <stdlib.h>;
char *str_replace(int lenth, char string[] ,char old[] ,char new[])
{
char *ret,*here;
int n;
if((here=strstr(string,old))==NULL)
return NULL;
ret=(char *)malloc(sizeof(char)*lenth);
n=strlen(string)-strlen(here);
memcpy(ret,string,n);
memcpy(ret+n,new,strlen(new));
memcpy(ret+n+strlen(new),here+strlen(old),strlen(here)-strlen(old));
return ret;
}
int main()
{
char *str = NULL;
char *oldstr= NULL;
char *newstr = NULL;
char *string = NULL;
string = str_replace(strlen(str) + strlen(newstr) - strlen(oldstr) + 1, str = "abcd1234efg", oldstr = "1234", newstr = "654321" ;
printf("%s\n", string);
free(string);
string = NULL;
return 0;
} |
|