Ok, I have made an attempt to use your advice to solve my problem.
Posted below is my code. What improvements I can make to it?
Code:
char input[80] = "January comes after * one two three.";
char input2[80] = "Feburary";
char replace[80];
char temp[80];
char *p;
int i = 0;
/* strtok places a NULL terminator
in front of the token, if found */
p = strtok(input, "*");
if (p) printf("%s\n", p);
strcpy(temp,p);
for(i = 0;i < strlen(input2);i++)
replace[i] = '_';
strcat(temp,replace);
printf("%s\n",replace);
/* A second call to strtok using a NULL
as the first parameter returns a pointer
to the character following the token */
p = strtok(NULL, "*");
strcat(temp,p);
if (p) printf("%s\n", p);
strcpy(input,temp);
printf("%s\n",input);