有没有办法判断文件是在本地磁盘中还是在 C 中的 NFS 中?代码应该可以跨各种 linux 发行版移植,并且不应该依赖于系统调用(例如 stat -f)。

最佳答案

您想使用 statfs 中的 <sys/vfs.h>



以下是如何使用它:

struct statfs s;
if (statfs("/etc", &s))
    perror("statfs");

switch (s->f_type) {
case EXT2_SUPER_MAGIC:
    break;
case EXT3_SUPER_MAGIC:
    break;
default:
    break;
}

还:
  • 你混淆了“外部命令”和“系统调用”。它们是非常非常不同的东西
  • stat(1) 命令在 Linux 发行版中非常便携。
  • 关于c - 在 C 中检测文件系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8389482/

    10-11 18:48