问题说明了一切。我想要C函数调用,它返回已挂载文件系统的列表以及文件系统类型等相关信息。
答案 0 :(得分:6)
您正在寻找getmntent
和其他*mntent
函数系列。请参阅manpage以获取进一步的参考。
代码示例取自here并略有修改。 /etc/mtab
是一个包含已安装文件系统列表的文件。
mounts = setmntent("/etc/mtab", "r");
while ( (ent = getmntent(mounts)) != NULL ){
if (strcmp(ent->mnt_type, "iso9660") == 0)
/* copy mount point to output */
strcpy(retval[cd_count - 1], ent->mnt_dir);
} /* if */
} /* while */
endmntent(mounts);
不幸的是,这些功能不在POSIX中。但它们是用glibc进行管理和实现的,所以我认为它们比解析/proc
更好。
答案 1 :(得分:1)
您可以解析/proc/filesystems
。