Hola, respondo por acá para que quede para el resto una consulta sobre letra que me llegó por privado al mail:
En la función leerimagen(char* ruta, Imagen* pimg) se pide un puntero a char. La función en si es la que tiene que encargarse de hacer el manejo de archivo con fopen. Si se fijan, puntero a char es exactamente lo que pide la función fopen en si cuando le pasamos un arreglo de caracteres.
De acá que en el uso de la función leerimagen, en la entrada ''ruta'' pongan exactamente lo que pondrían en la entrada de fopen, y cuando empiecen leerimagen hagan fopen(ruta).
Nota adicional, las líneas de texto entre comillas C las interpreta automáticamente como tipo char*, no tienen que inventar la rueda. char * ''Hola, soy Leopoldo''; es una sentencia perfectamente válida.
Espero haber aclarado, y que le sirva al resto, saludos.