C语言实现字符串替换

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
char* ReplaceSubStr(const char* str, const char* srcSubStr, const char* dstSubStr, char* out)
 
{  
 char *p;
 char *_out = out;
 const char *_str = str;
 const char *_src = srcSubStr;
 const char *_dst = dstSubStr;
 int src_size = strlen(_src);
 int dst_size = strlen(_dst);
 int len = 0;
 do
 {
 p = strstr(_str, _src);
 if(p == 0)
 {
 strcpy(_out, _str);
 return out;
 }
 len = p - _str;
 memcpy(_out, _str, len);
 memcpy(_out + len, _dst, dst_size);
 _str = p + src_size;
 _out = _out + len + dst_size;
 
 } while(p);

 return out;

}

int main()
 
{
 
 char str[1024];
 
 char srcSubStr[1024];
 
 char dstSubStr[1024];
 
 char out[1024];

 gets(str);
 
 gets(srcSubStr);
 
 gets(dstSubStr);
 
 ReplaceSubStr(str, srcSubStr, dstSubStr, out);

 printf("%s\n", out);
 
 return 0;
 
}

 

posted @ 2018-08-29 11:56  Crazy、baby  阅读(16158)  评论(0编辑  收藏  举报