Here one possible solution in old fashion.
int
replace( char *strIn, char *sStr, char *rStr, char *strOut)
{
int i=0,j=0;
int iLen = strlen( strIn);
int sLen = strlen( sStr );
int rLen = strlen( rStr );
for( i=0; i<iLen; i++) {
if( strncmp(&strIn[i], sStr, sLen)) strOut[j++]=strIn[i];
else {
memcpy( &strOut[j], rStr, rLen);
j+=rLen;
i+=(sLen-1);
}
}
strOut[j]=0;
return EXIT_SUCCESS;
}
int
main(int argc, char *argv[])
{
char in[]="jjjadhjhas jhasdjhdakdjah jhasdjhas";
char sStr[]="as";
char rStr[]="xxxx";
char out[200];
int retCode = replace( in, sStr, rStr, out);
fprintf(stderr, "Input String : %s\n", in);
fprintf(stderr, "Search String : %s\n", sStr);
fprintf(stderr, "Replace String: %s\n", rStr);
fprintf(stderr, "Result String : %s\n", out);
fprintf(stderr, "Return Code: %d\n", retCode);
exit(EXIT_SUCCESS);
}