Hola amigos, cambié mi usuario xq no recordaba el viejo jeje.
Tengo el siguiente problema que es mas un error mio por falta de conocimiento profundo de C que un error en el programa.
Tengo el siguiente código:
void file_directory (void) {
FINFO info;
struct {char *name;} mensaje[255];
int i = 0;
char *aux;
info.fileID = 0; /* info.fileID must be set to 0 */
while (ffind ("M:*.bmp", &info) == 0)
{ /* find whatever is in drive "R0:" */
printf ("\n%-32s %5d bytes, ID: %04d", info.name, info.size, info.fileID);
aux = (char*)info.name;
mensaje[i].name = aux;
i++;
}
if (info.fileID == 0) {
printf ("\nNo files...");
}
}
Y obtengo lo siguiente:
mensaje[0] = piripipi.bmp
mensaje[1] = piripipi.bmp
mensaje[2] = piripipi.bmp
etc.
Es decir guarda en todas las posiciones la última imagen que encuentra, es como si hiciera un pase por referencia y no por valor. En el adjunto se ve mas claro lo que digo.
Si alguien puede ayudarme. Saludos