Estoy teniendo un problema muy extraño con stat.hC++ stat.h tipo incompleto y no puede ser definido
En la parte superior de mi código, tienen declaraciones:
#include <sys\types.h>
#include <sys\stat.h>
Y prototipo de la función:
int FileSize(string szFileName);
Por último, la función en sí se define como sigue:
int FileSize(string szFileName)
{
struct stat fileStat;
int err = stat(szFileName.c_str(), &fileStat);
if (0 != err) return 0;
return fileStat.st_size;
}
Cuando intento compilar este código, me sale el error:
divide.cpp: In function 'int FileSize(std::string)':
divide.cpp:216: error: aggregate 'stat fileStat' has incomplete type and cannot be defined
divide.cpp:217: error: invalid use of incomplete type 'struct stat'
divide.cpp:216: error: forward declaration of 'struct stat'
A partir de este hilo: How can I get a file's size in C? creo que este código debe trabajar y no puedo entender por qué no se compila. ¿Alguien puede ver lo que estoy haciendo mal?
¿Sistema operativo y compilador? – mikithskegg
Estoy teniendo el mismo problema aunque utilizo el separador de ruta correcto. Estoy compilando con MinGW en Windows, y el compilador tiene un archivo sys/stat.h con stat struct y función stat declarada. ¿Alguna idea más? – Youda008