miércoles, 16 de octubre de 2013

Directorios y C

 Por  momentos uno quiere saber donde se encuetra, buscar archivos, ect ...

 Para eso usaremos dirent.h una libreria para manejar directorios.

#include <sys/types>
#include <dirent.h>

int main(){

 DIR *my_dir; // estructura que guarda el directorio
 struct dirent *my_file;
 
 my_dir=opendir("/home/un_dir"); // abrir un directorio

my_file=readdir(my_dir); //leemos el primer nodo del directorio

do{

    printf("%s es un archivo del directorio\n", my_file->name);

 
    my_file=readdir(my_dir); //leemos los otros nodos del directorio

}while(my_file!=NULL)//cuando no hay mas nodos que leer

 rewinddir(my_dir); // rebobinamos el directorio

 closedir(my_dir); //no es necesario, pero es buena practica

return 0;}

hay que tener en cuenta que struct dirent puede variar de distro a distro asi que siempre es recomendable fijarse en el manual.



pd: den +1
pd2: si lo van a compilar cambien el directorio que van a abrir

No hay comentarios:

Publicar un comentario