#include <stdio.h>
#include <string.h>
#include <malloc.h>
int main(void)
{
char * temp = "Front%20matter%20front.htm";
char *new=(char *)malloc(strlen(temp)); //用来存放处理后的字符串
int i=0;
int j=0;
char *s0=temp;
int li=0;
int lj=0;
while((unsigned)i<=strlen(temp))
{
if(*(temp + i) == '%')
{
memcpy(new+lj,temp+li,i-li);
*(new+j)=' ';
j++;
lj=j;
i+=3;
li=i;
continue;
}
if(*(temp + i) == '\0')
{
memcpy(new+lj,temp+li,i-li);
*(new+j)='\0';
break;
}
i++;
j++;
}
printf("new character = %s\n", new);
return 0;
}
是不是很拖沓,
不过我也就这水平了,
不知道改成这样效率会不会高点?