replace_extension(3) 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.