Tôi gặp một vấn đề rất lạ với stat.hC++ stat.h loại không đầy đủ và không thể xác định
Ở phía trên cùng của mã của tôi, tôi có tuyên bố:
#include <sys\types.h>
#include <sys\stat.h>
Và chức năng nguyên mẫu:
int FileSize(string szFileName);
Cuối cùng, chức năng riêng của mình được quy định như sau:
int FileSize(string szFileName)
{
struct stat fileStat;
int err = stat(szFileName.c_str(), &fileStat);
if (0 != err) return 0;
return fileStat.st_size;
}
Khi tôi cố gắng để biên dịch mã này, tôi nhận được lỗi:
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'
Từ chủ đề này: How can I get a file's size in C? Tôi nghĩ rằng mã này nên làm việc và tôi không thể tìm ra lý do tại sao nó không biên dịch. Ai có thể nhận ra những gì tôi đang làm sai?
Hệ điều hành và trình biên dịch? – mikithskegg
Tôi gặp vấn đề tương tự mặc dù tôi sử dụng dấu phân cách đường dẫn chính xác. Tôi đang biên dịch với MinGW trên Windows và trình biên dịch có tệp sys/stat.h với cấu trúc stat và hàm được khai báo. Còn ý tưởng nào nữa không? – Youda008