将一个字符串中的 \ 替换成 \\
即 "aaa\\aaa" → "aaa\\\\aaa" |
http://topic.csdn.net/u/20111202/15/77ac6eb8-a1d6-4d9e-bf66-3d3eea940767.html?48829
不知为何这个'\'这个字符如果使用此句话不通过。
if(pB[i]=='\') 故而改成'/'
思路:遇到'\'就把后面的字符放入一个指针变量pT存起来。
然后再把pT的内容copy至pB指针里。然后再把pB指针里依次查找'\',位置由sum变量来控制,有多少个'\'由count来控制。
#include "stdio.h"
#include "string.h"
void tidai(char *str)
{
char temp[128];
char *ptemp=temp;
char *pB;
char str2[128];
char *pT;
int j,postion,count=0,k=0,sum=0;
pB =str;pT=str2;
for(int i=0;i<strlen(pB);i++)
{
if(pB[i]=='/')
{
k=0; count++;
sum++;
postion = i;
for(j= i;j<strlen(pB);j++)
{
pT[k]=pB[j];
k++;
}
pT[k]='\0';
memcpy(ptemp,pB,strlen(pB));
while(*pT!='\0')
{
ptemp[i+1]=*pT++;
i++;
}
ptemp[strlen(str)+count]='\0';
memcpy(&pB,&ptemp,sizeof(ptemp));
i= postion+sum;
sum = 0;
continue;
}
}
printf("%s\n",ptemp);
}
void main()
{
char test[]="/7///89";
tidai(test);
}