replace_extension − Replaces filename+extension with a new extension tail. Allegro game programming library.
#include <allegro.h>
char *replace_extension(char *dest, const char *filename, const char *ext, int size);
Replaces the specified filename+extension with a new extension tail, storing at most ‘size’ bytes into the ‘dest’ buffer. If the filename doesn’t have any extension at all, ‘ext’ will be appended to it, adding a dot character if needed. You can use the same buffer both as input and output because Allegro internally works on a copy of the input before touching ‘dest’. Example:
replace_extension(buf, "C:\\game\\prog.exe",
"dat", sizeof(buf));
Returns a copy of the ‘dest’ parameter.