我在NTFS分区上有一个4 GB(确切)文件和一个尝试使用stat()
获取其大小的程序,但它始终以Unknown error
失败(stat返回-1)。
这是否意味着NTFS不支持4 GB文件?或者我必须使用不同的(Win32?)API?
编辑:
struct stat st;
if (stat(path.c_str(), &st) == -1) {
printf("stat: %s\n", strerror(errno));
}
输出:
stat: Unknown error
答案 0 :(得分:4)
stat
函数返回一个stat
结构,它定义了32位的文件大小,这意味着它可以正确处理最大4GB的文件大小。您应该使用stat64
。
答案 1 :(得分:0)
NTFS确实支持4GB以上的文件,你正在考虑fat32的限制......所以不是吗^ _ ^