char *strsub(char *s,char *pat,char *rep) { char *ptr, *tptr; int plen,rlen; tptr=ptr=s; plen=strlen(pat); rlen=strlen(rep); if ((ptr=strstr(s,pat))==NULL) { return NULL; } tptr = (char*)calloc(strlen(rep) + 1,sizeof(rep[0])); if (tptr==NULL) return NULL; strcpy(tptr,ptr+plen); while(rlen--) { *ptr++=(*(rep++)); } strsub(s,pat,rep); free(tptr); return (ptr); } int main() { char* s={"This is an issue"}; char* pat={"is"}; char* rep ={"ere"}; printf("%s",strsub(s,pat,rep)); getch(); }