[C con Clase] Problema con puntero a puntero char
Jose E. Figueroa
josefigueroa200200733 en gmail.com
Mar Oct 23 16:29:10 CEST 2007
Por Favor...quitenme de la lista de sus correos electronicos. Por el
momento...gracias.
On 10/18/07, Ariel Romero <aromero en cenatav.co.cu> wrote:
>
> Hola a todos:
>
> Soy nuevo en C y quiero hacer una funcion que abra un directorio
> determinado y devuelva la lista de ficheros de primer nivel que existen
> en él. Esto fue lo que hice:
>
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <sys/types.h>
> #include <dirent.h>
> #include <errno.h>
>
> char** listFilesFromDirectory(char* directory){
> DIR *dip;
> struct dirent *dit;
> int i = 0;
> char** filesListFromDirectory;
>
> if ((dip = opendir(directory)) == NULL){
> perror("opendir");
> return NULL;
> }
>
> printf("Directory stream is now open\n");
>
> filesListFromDirectory = malloc(1);
> while ((dit = readdir(dip)) != NULL){
> filesListFromDirectory[i]= malloc(sizeof(dit->d_name));
> strcpy(filesListFromDirectory[i],dit->d_name);
> i++;
> }
> filesListFromDirectory[i]= malloc(1);
> filesListFromDirectory[i]="end";
> int var;
>
> if (closedir(dip) == -1){
> perror("closedir");
> return 0;
> }
> return filesListFromDirectory;
> }
>
> despues en el main para probar y listar los ficheros hago esto:
>
> int main(int argc, char **argv) {
> char** list; //= malloc(1);
> list = listFilesFromDirectory("res");
> int var = 0;
> while (list[var]!=NULL) {
> puts(list[var]);
> var++;
> }
> return EXIT_SUCCESS;
> }
>
> Pero no sé que sucede que me da error, alguien sabe como hacerlo bien,
> espero que me pueda ayudar.
> saludos
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071023/7f30d0cc/attachment.html>
Más información sobre la lista de distribución Cconclase