buf=(char *)calloc(strlen(str)*2+1,sizeof(char)); for(ptr=str,p=buf; *ptr!='0\'; *ptr++){ switch((int)*ptr){ case '0': strcpy(p,"0");p+=2;break; case '1': strcpy(p,"1");p+=2;break; case '2': strcpy(p,"2");p+=2;break; case '3': strcpy(p,"3");p+=2;break; case '4': strcpy(p,"4");p+=2;break; case '5': strcpy(p,"5");p+=2;break; case '6': strcpy(p,"6");p+=2;break; case '7': strcpy(p,"7");p+=2;break; case '8': strcpy(p,"8");p+=2;break; case '9': strcpy(p,"9");p+=2;break; case default: *p=*ptr; p++; *p='\0'; break; } } strcpy(str,buf); free(buf);