字符串的内容,主要要对字符串函数熟悉
#include<stdio.h>
#include <string.h>
void main()
{
int pos,i=1;
char a[100],b[100],c[100],d[100];
char *q;
char *s;//主串
char *p;//查的子串
char *r;//替换的子串
printf("请输入主串:");
s=gets(b);
printf("请输入查的子串:");
p=gets(c);
printf("请输入替换子串:");
r=gets(d);
memset(a,'\0',100);//存储空间清空
q=(char *)strstr(s,p);
if(q)//到了
{
while(q)
{
pos = q-s;
printf("pos的值为:");
printf("pos=%d\n",pos);
memmove(a,s,pos); //将到的子串之前的元素铐到a
memmove(a+pos,r,strlen(r)); //将要替换的子串存在a
memmove(a+pos+strlen(r),s+pos+strlen(p),strlen(s)-pos-strlen(p));//将到的子串之后的元素拷贝到a
memset(b,'0',strlen(s)+strlen(r)-strlen(p));
memmove(b,a,strlen(s)+strlen(r)-strlen(p)); //把替换后的数组a的元素拷贝到b字符串函数源码
memset(a,'\0',100); //清空a,为下次替换提供存储
printf("第%d次替换的结果为:",i);
i++;
printf("%s\n",s);
q=strstr(s,p); //在新的数组b中子串p
}
}
else
printf("Not Found!");
getchar();
return;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论