szx*_*szx 3 c 32-bit stat windows-8
我在 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));
}
Run Code Online (Sandbox Code Playgroud)
输出:
stat: Unknown error
Run Code Online (Sandbox Code Playgroud)
该stat函数返回一个stat用 32 位定义文件大小的结构体,这意味着它只能正确处理最大 4GB 的文件大小。你应该使用stat64.