2

我在 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
4

2 回答 2

4

stat函数返回一个stat用 32 位定义文件大小的结构,这意味着它可以正确处理最多 4GB 的文件大小。你应该使用stat64.

另请参阅MSDN 上的 stat 函数系列

于 2013-03-17T20:51:04.170 回答
0

NTFS 确实支持超过 4GB 的文件,你在考虑 fat32 的限制...所以不是这样^_^

于 2013-03-17T20:44:36.283 回答