Función readdir

Iniciado por raquelsg88, 14 Junio 2013, 09:31 AM

0 Miembros y 1 Visitante están viendo este tema.

raquelsg88

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

aguml

#1
No lo he comprobado pero es una idea:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Windows.h>

int main(int argc, char* argv[])
{
        HANDLE hFind;
        WIN32_FIND_DATA busqueda;
        char ruta[] ={"C:\\Documents and Settings\\Administrador\\Mis documentos\\*.txt"};
        char control[256];
        int fin = 0;

        hFind = FindFirstFile(ruta,&busqueda);
        if(hFind != -1)
        {
                printf("Archivos con extension txt\n"
                       "--------------------------\n");
                printf("%s\n", busqueda.cFileName); //Mostramos por pantalla el archivo encontrado

                while(fin == 0)
                {
                        strcpy(control, busqueda.cFileName);
                        FindNextFile(hFind,&busqueda); //buscamos el siguiente archivo
                        if(strcmp(control, busqueda.cFileName) == 0) // Si son iguales es porque ya llegamos al ultimo archivo del directorio
                        {
                                printf("\nYa no hay mas archivos con esa extension.\n\n");
                                fin = 1;
                        }else{
                                printf("%s\n", busqueda.cFileName); //Mostramos por pantalla el archivo encontrado
                        }
                }
        }
        system("PAUSE");
        return 0;
}