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
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;
}