[E-4] Write a function that replaces every instance
of a particular character in a string with another character. The prototype
of the function is:
void replace( char *str, char old, char new );
Replace every character old in str with character
new. For example,
replace( "applecart", 'a', 'u')
changes "applecart" into "upplecurt".
Here is a testing function:
#include <stdio.h>
#include <stdlib.h>
void replace( char *str, char old, char new )
{
}
struct test
{
char str[50];
char old;
char new;
};
int main(int argc, char *argv[])
{
struct test trials[] =
{
{"aaa", 'a', 'b'},
{"aaa", 'x', 'b'},
{"abc", 'a', 'b'},
{"bca", 'a', 'b'},
{"bca", 'a', 'a'},
{"aaabbbaaa", 'a', 'b'},
{"xaxaxa", 'a', 'b'},
{"XAAxaa", 'a', '*'},
{"applecart", 'a', 'u'},
{"blue berry", 'e', 'o'}
};
int j;
for ( j=0; j < sizeof(trials)/sizeof(struct test); j++ )
{
printf( "%s\t", trials[j].str );
replace( trials[j].str, trials[j].old, trials[j].new );
printf( "%c\t%c\t%s\n",
trials[j].old, trials[j].new, trials[j].str );
}
return 0;
}