Selectively replace multiple instances of a character within a string: Difference between revisions

Content added Content deleted
(Add C)
Line 113: Line 113:
{{out}}
{{out}}
<pre>AErBcadCbFD</pre>
<pre>AErBcadCbFD</pre>

=={{header|C}}==
<syntaxhighlight lang="c">
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
const char string[] = "abracadabra";

char *replaced = malloc(sizeof(string));
strcpy(replaced, string);

// Null terminated replacement character arrays
const char *aRep = "ABaCD";
const char *bRep = "E";
const char *rRep = "rF";

for (char *c = replaced; *c; ++c) {
switch (*c) {
case 'a':
if (*aRep)
*c = *aRep++;
break;
case 'b':
if (*bRep)
*c = *bRep++;
break;
case 'r':
if (*rRep)
*c = *rRep++;
break;
}
}

printf("%s\n", replaced);

free(replaced);
return 0;
}
</syntaxhighlight>
{{out}}
<pre>
AErBcadCbFD
</pre>


=={{header|C++}}==
=={{header|C++}}==