Replace函数替换字符串

本文详细介绍了如何利用Replace函数在编程中实现字符串的高效替换,通过实例解析其工作原理和使用技巧,帮助开发者提升代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <string.h>

char* Replace(char *str,char *substr,char* newstr)
{
	int i,j,k,m,n;
	for(i = 0;i < strlen(str);i++)
	{
		k = i;
		for(j = 0;j < strlen(substr);j++)
		{
			if(str[k] != substr[j])
			{
				break;
			}
			else
				k++;
		}
		if(j == strlen(substr))
		{
			m = i;
        	for(n = 0;n < int(strlen(newstr));m++,n++)
			{
				printf("%d",n);
        		str[m] = char(newstr[n]);
				continue;
			}
		}

	}
	return str;
}



void main()
{
	char* a = "123ac123ac";
	char* sub = "ac";
	char* news = "45";
	Replace(a,sub,news);
	printf("%s",a);
}

正确方法

#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;

}

void main()
{
 char str[1024];
 char srcSubStr[1024];
 char dstSubStr[1024];
 char out[1024];
 scanf("%s",&str);
 scanf("%s",&srcSubStr);
 scanf("%s",&dstSubStr);
 ReplaceSubStr(str, srcSubStr, dstSubStr, out);
 printf("%s\n", out);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值