中易网

写一个C程序完成字串替换操作,将串s中的字串t全部换成串v

答案:3  悬赏:40  
解决时间 2021-02-17 13:01
写一个C程序完成字串替换操作,将串s中的字串t全部换成串v
最佳答案
#include
#include
#include


char *strReplace(char *src, const char *oldstr, const char *newstr)
{
char *needle;
char *tmp;

if (strlen(oldstr) == strlen(newstr) && strcmp(oldstr, newstr) == 0)
{
return 0;
}

while ((needle = strstr(src, oldstr)))
{
tmp = (char*)malloc(strlen(src) + (strlen(newstr) - strlen(oldstr)) +1);
strncpy(tmp, src, needle-src);
tmp[needle-src] = '\0';
strcat(tmp, newstr);
strcat(tmp, needle+strlen(oldstr));
src = strdup(tmp);
free(tmp);
}
return src;
}

int main()
{
char *newstr;
char str[100]={NULL},olds[20]={NULL},news[20]={NULL};
printf("请输入源字符串: \n");
scanf("%s",str);
fflush(stdin);
printf("请输入需要替换的字符串: \n");
scanf("%s",olds);
fflush(stdin);
printf("请输入需要替换后的字符串: \n");
scanf("%s",news);
fflush(stdin);
newstr = strReplace(str,olds,news);

printf("替换后的结果: \n");
printf ("%s\n",newstr);

system("pause");

return 0;
}
全部回答
已写好,采纳后立即发送邮箱。
对提出的问题详细解答。
char s[]="Hello";
char s1[]="Good";
char *s2;
s2=strcpy(s,s1);
cout<<s2;
追问:能帮忙写个完整的吗?最好不要C++的
追答:我晕 我只是把输出的用C++的写出来了 其他都和C一样的。。。 你吧cout换成printf就行了!你这基础啊。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个男生总是瞄一个女生一般不会和这个女生主
抒发爱国情感的诗句
我21岁仙家要我出道 怎么办啊。
在CAM350中怎么导入资料
甘肃有什么好吃的?
谁有《超级小农民》洛天版全集 百度云的
看小品下载什么软件
我的电脑驱动器可用空间满是怎么回事啊
芙蓉宾馆(安乡县人民医院黄山头镇分院东南)地
火影雏菊和雏田是一个人吗
大篆与小篆的关系及风格异同
雷霆战机怎么把战神进化为黄金战神
幼儿上火怎么办教案
你知道快猫的邮箱怎么注册吗
求食神插曲初恋的歌词
推荐资讯
为什么我文采好作文写不好
英文名字以sh来头
华厦银行在高新什么地方
Bm和弦由哪几个音组成
尼亚人罗布麻茶怎么样?
想开个20到30平米的小超市大概得多钱?房租一
这种的一美元硬币值钱不?
子丑寅卯辰巳午未申酉戌亥,粤语(白话)怎么
龙汶怎么去啊,有知道地址的么
急求情侣 对联语 和 甜蜜诗句 男名:齐强 女
python的4字节整型存储是大端还是小端
宁夏机械技工学校这个地址在什么地方,我要处
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?