Ayuda MANEJO DE ARCHIVOS C+ LINUX

Colapsar
X
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar todos
nuevos mensajes

  • Ayuda MANEJO DE ARCHIVOS C+ LINUX

    Bueno pasa que he intentado de mil formas re ordenar mi escritorio de forma inteligente ya que tengo siempre muchos archivos con diferentes extensiones,,, una solución a esto seria ordenar mi escritorio mediante la organización de extensiones...
    1. a partir de la ruta actual (en mi caso desde el escritorio, que es ahí donde tengo el ejecutable)
    2. crear carpeta de cada tipo de archivo presente en la ubicación (en mi caso escritorio)
    3. mover estos archivos a la carpeta correspondiente
    4. ademas deseo crear un archivo de texto tipo LOG qué contenga la ruta actual y la ruta nueva de cada uno de los archivos movidos.


    EJEMPLOS
    • en la ruta escritorio tengo:
    [INDENT=4]-pedro.pdf
    -juan.pdf
    -jalea.pdf
    -piedra.dfp
    -nuez.mp3
    -perro.mp3
    -serpiente.mp3
    -cuerda.c
    -robot.css[/INDENT]
    • Entonces la aplicación debería leer y capturar todos estos archivos y leer la extensión que llevan (esto se sabrá leyendo el nombre de archivo hasta identificar el ultimo punto y se asume que desde el ultimo punto hasta el length del nombre del archivo sera el nombre de la extensión) en este caso se crearián las siguientes carpetas:
    [INDENT=4]-pdf
    -dfp
    -mp3
    -c
    -css[/INDENT]
    • En cada una de estas carpetas se deberían mover los archivos
    [INDENT=4]-pdf ->pedro,juan,jalea
    -dfp ->piedra
    -mp3 ->nuez,perro,serpiente
    -c ->cuerda
    -css ->robot [/INDENT]
    En el codigo que muestro aqui... solo puedo leer los archivos que tengo en mi escritorio y almacenarlos en un arreglo llamado nombre_archivo..
    #include <unistd.h> #include <string.h> #include <sys/types.h> #include <dirent.h> #include <stdlib.h> #include <stdio.h> #include <pthread.h> int main(){ char nombre_ruta [256]; int i=0; int p=0; char nombre_archivo[20][30]; char extension[20][30]; DIR*dirl; struct dirent *dp; getcwd(nombre_ruta,256); printf("%s\n",nombre_ruta); dirl=opendir(nombre_ruta); while((dp=readdir(dirl)) !=NULL){ printf("%s/%s\n",nombre_ruta,dp->d_name); strcpy(nombre_archivo[i],dp->d_name); i=i+1; } closedir(dirl); return 0; } MUCHAS GRACIAS... CUALQUIER AYUDA ME SIRVE...
    Última edición por f.zigagordon; 08-12-2016, 09:49 PM.
Trabajando...
X