问题说明了一切。我想要C函数调用,以返回列表中已挂载的文件系统以及相关信息,例如文件系统类型。
最佳答案
您正在寻找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
解析更好的选择。关于linux - 在Linux上相当于getfsstat()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1934678/