将如下函数添加到文件中,可直接调用。
StrReplace(char strRes[],char from[], char to[])
@strRes[] :原始字符串。
@rom[]:需要替换的字符,串只替换第一次出现的位置。
@to[]:需要替换成什么字符串。
成功返回:1
失败返回:0
#include <malloc.h>
#include<netinet/in.h>
#include <net/if.h>
#include <sys/ioctl.h>
int StrReplace(char strRes[],char from[], char to[])
{
int flag=0;
char *Ptr = NULL;
char *middle_flag = strstr(strRes, from);
if(middle_flag == NULL)
{
return flag;
}
int len = strlen(middle_flag);
Ptr = (char *)malloc(len * sizeof(char));
if (NULL == Ptr)
{
return flag;
}
strcpy(Ptr, middle_flag + (strlen(from)));
if (middle_flag != NULL)
{
/* code */
*middle_flag = '\0';
strcat(strRes, to);
strcat(strRes, Ptr);
free(Ptr);
flag = 1;
}
return flag;
}
int main()
{
char *str = "this is one";
if(StrReplace(str,"one","two"))
{
printf("%s",str);
}
}
@print:this is two
输出this is two