首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

关于获取类似/dev/hda1设备的文件系统的类型解决方法

2012-02-04 
关于获取类似/dev/hda1设备的文件系统的类型请问有现成的linux C函数可以用不想自己去读分区表也不想调用f

关于获取类似/dev/hda1设备的文件系统的类型
请问有现成的linux C函数可以用
不想自己去读分区表
也不想调用fdisk命令

[解决办法]
应该没有
[解决办法]
cat /proc/mounts
[解决办法]
getmntent()调用,返回一个struct mntent结构。下面是一个代码例子

#include <stdio.h>
#include <mntent.h>

int main(int argc, char *argv[])
{
FILE *fp = NULL;
struct mntent *mnt = NULL;

fp = setmntent("/etc/mtab", "r");
if (fp == NULL) {
return -1;
}

while ((mnt = getmntent(fp))) {
printf("name: %s, type: %s, mount dir: %s, opts: %s\n",
mnt->mnt_fsname, mnt->mnt_type, mnt->mnt_dir, mnt->mnt_opts);
}
endmntent(fp);

return 0;
}

[解决办法]
mount里面好像就是一个一个试的
[解决办法]
你od -c /dev/hda1看一下设备的头100-200个字节
fat32类型的类型标志在第82-86这5个字节里.
ntfs 的类型标志在第3,4,5,6这4个字节里.
其它类型的没找到在那,仔细找下看看能否找到.

热点排行