Hola.. quiero hacer un programa que cree un archivo de texto con una lista de todas las carpetas y archivos de un cd, ésta es la parte del código que se encarga de eso:
int i, j;
AnsiString n;
FILE *lista;
lista = fopen("C:\\lista.txt", "w");
if (!lista)
{
ShowMessage("Error al crear el archivo nuevo");
exit (0);
}
for (j=0; j<DirectoryListBox1->Items->Count; j++)
{
FileListBox1->Directory = DirectoryListBox1->Items->Strings[j];
FileListBox1->Update();
fprintf(lista, "[%s]", DirectoryListBox1->Items->Strings[j]);
fprintf(lista, "\n");
for (i=0; i<FileListBox1->Items->Count; i++)
fprintf(lista, "%s%c", FileListBox1->Items->Strings[i], '\n');
fprintf(lista, "\n\n");
}
fclose(lista);
ShellExecute(NULL, "open", "C:\\lista.txt",NULL, NULL,SW_SHOWNORMAL);
Pero por algún motivo crea bien la lista de carpetas, pero en cada carpeta muestra siempre la lista de archivos de la primera, osea
[Carpeta1]
Archivos de la carpeta 1..
Archivos de la carpeta 1..
Archivos de la carpeta 1..
[Carpeta2]
Archivos de la carpeta 1..
Archivos de la carpeta 1..
Archivos de la carpeta 1..
[Carpeta3]
Archivos de la carpeta 1..
Archivos de la carpeta 1..
Archivos de la carpeta 1..
y así.. y por más que busco en el código no encuentro por qué no funciona, a ver si alguien que sepa más que yo sobre el tema me puede ayudar..
Desde ya gracias..