2010-02-09 13 views
6

Cuando incluyo dirent.h (#include<dirent.h>) en Visual Studio 2005, me sale el error:# include <dirent.h> en Visual Studio 2005

fatal error C1083: Cannot open include file: 'dirent.h': No such file or directory

Soy nuevo en C++; ¿alguien puede por favor darme la solución para este error?

+0

Respondí esto en otra pregunta del mismo usuario: http://stackoverflow.com/questions/2228405/list- the-files-in-particular-folder-in-c-closed. Esta pregunta debe ser cerrada. – Manuel

+0

Manuel: esa no parece la misma pregunta, y está cerrada de todos modos. –

+0

No veo que su respuesta abordara esto directamente. –

Respuesta

2

El mensaje de error lo dice todo. El archivo no existe o no está en el directorio correcto. Mira esto website. Incluye una implementación gratuita de dirent.h.

+0

ya! su agradecimiento por haberme proporcionado el sitio. –

+0

Entonces, ¿qué tal cerrar esta pregunta? – hanno

+0

Las preguntas no se acercan, a menos que por alguna razón no sean preguntas reales. Sin embargo, deberían obtener una respuesta aceptada, @SHIVA. – Bill

0

intente incluir solo dir.h y si eso no funciona, intente io.h

#include <errno.h> 
#include <iostream> 
#include <io.h> 
#include <time.h> 
using namespace std; 

bool canDelete(int timeCreate); 

int main() { 
    struct _finddata_t data; 
    int handle; 
    handle = _findfirst("test.txt", &data); 

    if(handle == -1) { 
     exit(1); 
    } 

    if(canDelete(data.time_create)) { 
     cout << "Deleting file ...\n\n"; 
    } else { 
     cout << "File ok.\n\n"; 
    } 
} 
/** 
* @param: the time in seconds that the file was created. 
* @return: true if the file was created more than 7 days, 
* false otherwise. 
**/ 
bool canDelete(int time_create) { 
    time_t seconds = time(NULL); 
    int days = 7; 
    int max_time = 60 * 60 * 24 * days; 
    int time_passed = seconds - time_create; 
    if(time_passed > max_time) { 
     return true; 
    } else { 
     return false; 
    } 
} 
1

debe agregar el directorio donde el archivo se encuentra en el "adicionales incluyen carpetas" en las propiedades del proyecto de Visual Studio.

3

El archivo dirent.h no es un archivo de encabezado estándar de C++. Como estás en Windows, probablemente quieras usar el FindFirstFile y funciones relacionadas, declaradas en windows.h

+0

Dijo en otro hilo que quería mantener multiplataforma. – Manuel

+1

@Manuel En general, es una buena idea abordar la pregunta planteada en un hilo en particular. –

Cuestiones relacionadas