Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <dirent.h>
- #include <stdio.h>
- #include <string.h>
- #include <unistd.h>
- #include <sys/stat.h>
- void adentro_de_esta_ruta(char * ruta_a_revisar, char * elemento){
- DIR * directorio;
- struct dirent * registro_directorio;
- char ruta_auxiliar[2000];
- char ruta_auxiliar2[2000];
- strcpy(ruta_auxiliar2, ruta_a_revisar);
- strcat(ruta_a_revisar, "/");
- strcat(ruta_a_revisar, elemento);
- strcpy(ruta_auxiliar, ruta_a_revisar);
- directorio = opendir(ruta_a_revisar);
- while((registro_directorio = readdir(directorio)) != NULL){
- if((strcmp(".", registro_directorio->d_name) == 0) || (strcmp("..", registro_directorio->d_name) == 0)){
- continue;
- }else{
- strcat(ruta_a_revisar, "/");
- strcat(ruta_a_revisar, registro_directorio->d_name);
- if(chdir(ruta_a_revisar) == 0){
- chdir(ruta_auxiliar);
- adentro_de_esta_ruta(ruta_auxiliar, registro_directorio->d_name);
- strcpy(ruta_auxiliar, ruta_auxiliar2);
- }else{
- strcpy(ruta_a_revisar, ruta_auxiliar);
- }
- }
- strcpy(ruta_auxiliar, ruta_auxiliar2);
- }
- closedir(directorio);
- }
- int main(int agrc, char ** argv){
- DIR * directorio;
- struct dirent * registro_directorio;
- char ruta_actual[2000];
- char ruta_auxiliar[2000];
- char ruta_procesar[2000];
- char ruta_auxiliar2[2000];
- strcpy(ruta_actual, (char*)getenv("PWD"));
- strcpy(ruta_procesar, argv[1]);
- strcat(ruta_actual, "/");
- strcat(ruta_actual, ruta_procesar);
- strcpy(ruta_auxiliar, ruta_actual);
- strcpy(ruta_auxiliar2, ruta_actual);
- directorio = opendir(ruta_actual);
- while((registro_directorio = readdir(directorio)) != NULL){
- if((strcmp(".", registro_directorio->d_name) == 0) || (strcmp("..", registro_directorio->d_name) == 0)){
- continue;
- }else{
- strcat(ruta_actual, "/");
- strcat(ruta_actual, registro_directorio->d_name);
- if(chdir(ruta_actual) == 0){
- chdir(ruta_auxiliar);
- adentro_de_esta_ruta(ruta_auxiliar, registro_directorio->d_name);
- strcpy(ruta_auxiliar, ruta_auxiliar2);
- }else{
- strcpy(ruta_actual, ruta_auxiliar);
- }
- }
- strcpy(ruta_auxiliar, ruta_auxiliar2);
- }
- closedir(directorio);
- return 0;
- }
Add Comment
Please, Sign In to add comment