字符串替换的有关问题,求大神指导
字符串替换的问题,求大神指导
有一个字符串符合以下特征 "abcd11111abcd2222abcdqqqqq"”把字符串替换成(dcba11111dcba 2222dcbaqqqqq),并把结果传出。
int search(char *str,char *c,int *n)
{
char *p=str;
char *a=str;
char *p1=str;
char *p2=str;
char k;
int len=strlen(c);
int count=0;
do
{
p=strstr(p,c);
if(p!=NULL)
{
for(p1=a,p2=a+len-1;p1<p2;p1++,p2--)
{
k=*p1;
*p1=*p2;
*p2=k;
}p1=p2=p;
printf("%s\n",a);
p=p+strlen(c);
printf("find:%s\n",p);
count++;
}
else
{
break;
}
}while(*p!='\0');
*n=count;
return 0;
}
为什么我这个函数返回的值只有第一个是正确的???
------解决思路----------------------
for(p1=p,p2=p+len-1;p1<p2;p1++,p2--)
有一个字符串符合以下特征 "abcd11111abcd2222abcdqqqqq"”把字符串替换成(dcba11111dcba 2222dcbaqqqqq),并把结果传出。
int search(char *str,char *c,int *n)
{
char *p=str;
char *a=str;
char *p1=str;
char *p2=str;
char k;
int len=strlen(c);
int count=0;
do
{
p=strstr(p,c);
if(p!=NULL)
{
for(p1=a,p2=a+len-1;p1<p2;p1++,p2--)
{
k=*p1;
*p1=*p2;
*p2=k;
}p1=p2=p;
printf("%s\n",a);
p=p+strlen(c);
printf("find:%s\n",p);
count++;
}
else
{
break;
}
}while(*p!='\0');
*n=count;
return 0;
}
为什么我这个函数返回的值只有第一个是正确的???
------解决思路----------------------
for(p1=p,p2=p+len-1;p1<p2;p1++,p2--)