Alguien me podría solucionar este problema.
He hecho una copia del ejemplo de Palib FAT\FATListDirectori pero añadiendo que todos los archivos se guarden en la variable a.(que se mostrará en la antalla de abajo)
Si es más facil seguir el ejemplo pero yo lo que quiero es guardar el nombtre de los archivos en una variable.
// Includes
#include <PA9.h> // Include for PA_Lib
#include <fat.h>
#include <sys/dir.h>
// Function: main()
int main(int argc, char ** argv)
{
PA_Init(); // Initializes PA_Lib
PA_InitVBL(); // Initializes a standard VBL
PA_WaitForVBL();
PA_InitText (1, 1);
PA_InitText (0, 1);
fatInitDefault();
int linenumber = 0;
int screen = 1;
char a;
struct stat st;
char filename[256]; // Habrá maximo 256 nombres de archivo
DIR_ITER* dir = diropen("/");//Empieza a leer
if (dir == NULL)
{
PA_OutputText(1,2,2,"No se puede abrir el directorio.");
}
else
while (dirnext(dir, filename, &st) == 0)
{
if (linenumber == 24) //Ha llegado al final de la linea
{
screen=0; //Pasa a la pantalla 0
linenumber = 0; //Resetea el numero de la línea
}
// st.st_mode & S_IFDIR indica si es un directorio
PA_OutputText(screen,0,linenumber, "%02d%s: %s\n", linenumber, (st.st_mode & S_IFDIR ? "D" : "-"), filename);
a = a+filename;
linenumber++;//next line
}
PA_OutputText (0, 1, 1, "Hola %s", a);
// Infinite loop to keep the program running
while (1)
{
PA_WaitForVBL();
}
return 0;
} // End of main(
Si no me encontrais el error podríais decirme como se haría esto:
Primero lee los archivos del directorio principal
Después va guardando cada nombre de archivo en la variable archivo.1 archivo.2 archivo.3 etc.
Y después ya hago yo el resto.