2

现在我statfs用来获取文件系统类型。我认为f_type返回的值是http://opensource.apple.com/source/xnu/xnu-3248.60.10/bsd/vfs/vfs_conf.cstruct statfs中定义enum fs_type_num的值之一

f_type在 macOS 10.12 之前,HFS/HFS+ 的from值为struct statfs17。在 macOS 10.12 上,该值为 23,我没有看到在enum fs_type_num.

f_type是否有一个文件定义了from的可能值struct statfs

或者,是否有更好的 API 来获取文件系统类型?

4

1 回答 1

0

这对我有用。

首先包括 mount.h。

#include <sys/mount.h>

然后下面会给你类型、子类型和类型名称。

struct statfs output;
statfs("/", &output);
NSLog(@"Type: %u", output.f_type);
NSLog(@"Subtype: %u", output.f_fssubtype);
NSLog(@"Type name: %s", output.f_fstypename);

这适用于 macOS 和 iOS。

对于任何好奇的人,这里是我在少数设备上得到的结果。

10.12.3 上的 macOS

  • 类型:23
  • 亚型:1
  • 类型名称:hfs

10.2.1 上的 iPhone

  • 类型:23
  • 亚型:3
  • 类型名称:hfs

10.3 上的 iPad

  • 类型:22
  • 亚型:1
  • 类型名称:apfs
于 2017-03-31T13:13:19.073 回答