如题所述
void
rep(char
*s,char
*s1,char
*s2)
{
char
*p;
for(;*s;s++)
/*顺序访问字符串s中的每个字符*/
{
for(p=s1;*p&&*p!=*s;p++);/*检查当前字符是否在字符串s1中出现*/
if(*p)
*s=*(p-s1+s2);
/*当前字符在字符串s1中出现,用字符串s2中的对应字符代替s中的字符*/
}
}
不知道对于不对,你自己去试下,对了请采纳,不对请往下浏览
rep(char
*s,char
*s1,char
*s2)
{
char
*p;
for(;*s;s++)
/*顺序访问字符串s中的每个字符*/
{
for(p=s1;*p&&*p!=*s;p++);/*检查当前字符是否在字符串s1中出现*/
if(*p)
*s=*(p-s1+s2);
/*当前字符在字符串s1中出现,用字符串s2中的对应字符代替s中的字符*/
}
}
不知道对于不对,你自己去试下,对了请采纳,不对请往下浏览
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-12-12
/*************************字符串替换函数sreplace***************************/
//将content串中所有的p串用r串代替
//return:是否发生替换
bool sreplace(char* content,char* p,char* r){
string t(content);
int slen=strlen(p);
int rlen=strlen(r);
int i=0;
while(1){
i=t.find(p);
if(-1==i)
break;
t.replace(i,slen,r,rlen);
}
cout<<t<<endl;
delete []content;
content = new char[t.length()+1];
if(content == NULL)
return false;
strcpy(content,t.c_str());
return true;
}本回答被提问者采纳
//将content串中所有的p串用r串代替
//return:是否发生替换
bool sreplace(char* content,char* p,char* r){
string t(content);
int slen=strlen(p);
int rlen=strlen(r);
int i=0;
while(1){
i=t.find(p);
if(-1==i)
break;
t.replace(i,slen,r,rlen);
}
cout<<t<<endl;
delete []content;
content = new char[t.length()+1];
if(content == NULL)
return false;
strcpy(content,t.c_str());
return true;
}本回答被提问者采纳
第2个回答 2009-12-12
#include<stdio.h>
#define N 500
void replace(char*p, char old,char now)
{
int i;
for(i=0;i<N;i++)
{
if(*p==old)*p=now;
p++;
}
return;
}
int main()
{
char ch[N],old,now;
gets(ch);
scanf("%c %c",&old,&now);
replace(ch,old,now);
puts(ch);
return 0;
}
#define N 500
void replace(char*p, char old,char now)
{
int i;
for(i=0;i<N;i++)
{
if(*p==old)*p=now;
p++;
}
return;
}
int main()
{
char ch[N],old,now;
gets(ch);
scanf("%c %c",&old,&now);
replace(ch,old,now);
puts(ch);
return 0;
}
第3个回答 2009-12-12
void replace(char* str, char re,char er)
{
assert(str!=null);
char *p=str;
while(*p!='\0')
{
if(*p==re)*p=er;
p++;
}
return;
}
{
assert(str!=null);
char *p=str;
while(*p!='\0')
{
if(*p==re)*p=er;
p++;
}
return;
}
第4个回答 2009-12-12
void replace(char *str,const char a,const char b)
{
if (*str) {
*str=*str==a?b:*str;
replace(str+1,a,b);
}
}
{
if (*str) {
*str=*str==a?b:*str;
replace(str+1,a,b);
}
}