Hola a todos, quiciera saber por que no puedo copiar las cadenas que me regresa la estructura dirent, d_name que vendria siendo el nombre del programa o la carpeta, al final los listo pero me salen todos del mismo nombre, en mi caso tengo la ultima carpeta llamada tad2 y es la unica que copia al apuntador de cadenas de caracteres, les agradeceria mucho que me ayuden, gracias
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/param.h>
#include <dir.h>
int main(int argc, char *argv[])
{
FILE *ptr;
struct dirent *dir, *dirp;
char nombre [ MAXPATHLEN ], **carpetas, nom [ 100 ];
int x = 0;
getcwd ( nombre, MAXPATHLEN );
carpetas
= malloc ( sizeof ( char * ) * 100 );
if ( ( dir = opendir ( nombre ) ) == NULL ) {
printf ("No se pudo abrir el directorio %s\n", nombre
); }
else {
for ( dirp = readdir ( dir ); dirp != NULL; dirp = readdir ( dir ) ) {
printf ("%s\n", dirp
->d_name
); carpetas [ x ] = dirp->d_name;
++x;
}
for ( x = 0; carpetas [ x ] != NULL; x++ ) {
printf ("%s\n", carpetas
[ x
] ); }
}
return 0;
}