Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: raquelsg88 en 14 Junio 2013, 09:31 am



Título: Función readdir
Publicado por: raquelsg88 en 14 Junio 2013, 09:31 am
Hola,

Estoy abriendo un directorio y leyendo los ficheros que hay en el pero quiero hacer que se quede solo con los ficheros y no las carpetas, y en concreto con fichero que sea .txt.

¿Cómo puede hacerse?

res= R_tfat_f_opendir(&fl_dir," ");
      if( res != TFAT_FR_OK ){
            /* Error while opening the file for reading */
            R_Fl_Error(ERROR_FILE_OPEN);
        }
      res=R_tfat_f_readdir(&fl_dir,&fl_info);
      if( res != TFAT_FR_OK ){
            /* Error while opening the file for reading */
            R_Fl_Error(ERROR_FILE_READ);
        }

En readdir tendría que mirar los ficheros y quedarme con el .txt.

A ver si alguien puede ayudarme


Título: Re: Función readdir
Publicado por: aguml en 14 Junio 2013, 16:31 pm
No lo he comprobado pero es una idea:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <Windows.h>
  5.  
  6. int main(int argc, char* argv[])
  7. {
  8.        HANDLE hFind;
  9.        WIN32_FIND_DATA busqueda;
  10.        char ruta[] ={"C:\\Documents and Settings\\Administrador\\Mis documentos\\*.txt"};
  11.        char control[256];
  12.        int fin = 0;
  13.  
  14.        hFind = FindFirstFile(ruta,&busqueda);
  15.        if(hFind != -1)
  16.        {
  17.                printf("Archivos con extension txt\n"
  18.                       "--------------------------\n");
  19.                printf("%s\n", busqueda.cFileName); //Mostramos por pantalla el archivo encontrado
  20.  
  21.                while(fin == 0)
  22.                {
  23.                        strcpy(control, busqueda.cFileName);
  24.                        FindNextFile(hFind,&busqueda); //buscamos el siguiente archivo
  25.                        if(strcmp(control, busqueda.cFileName) == 0) // Si son iguales es porque ya llegamos al ultimo archivo del directorio
  26.                        {
  27.                                printf("\nYa no hay mas archivos con esa extension.\n\n");
  28.                                fin = 1;
  29.                        }else{
  30.                                printf("%s\n", busqueda.cFileName); //Mostramos por pantalla el archivo encontrado
  31.                        }
  32.                }
  33.        }
  34.        system("PAUSE");
  35.        return 0;
  36. }