首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用C++读取Linux下文件的vfat属性

如何用C++读取Linux下文件的vfat属性
EN

Stack Overflow用户
提问于 2009-10-29 23:11:06
回答 1查看 3.8K关注 0票数 5

我在Linux中安装了一个FAT文件系统,并安装了vfat驱动程序。我想知道如何读取文件的vfat属性,比如“隐藏”和“只读”。

根据我到目前为止所读到的内容,如果我在文件上使用stat() glibc命令,我只能获得下面列出的文件属性:http://www.gnu.org/s/libc/manual/html_node/Attribute-Meanings.html#Attribute-Meanings

但是,这些不包含任何vfat属性。有人能帮上忙吗?

谢谢,

Katsupoy

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-29 23:47:49

FAT的DOS属性不能很好地映射到UNIX文件系统模型,所以Linux的vfat驱动程序没有反映它们。

使用mtools从用户空间读取文件系统,而不是挂载文件系统。

编辑我说谎了。显然,vfat驱动程序能够处理这些DOS属性,至少从2.4.29开始是这样(我认为;我的历史日志不会追溯那么久)。

代码语言:javascript
复制
#include <inttypes.h>
#include <sys/ioctl.h>
#include <linux/msdos_fs.h>

int fd = open("/mnt/fat/...", ...);
__u32 attrs;
ioctl(fd, FAT_IOCTL_GET_ATTRIBUTES, &attrs);
attrs = ATTR_NONE;  /* ATTR_{RO,HIDDEN,SYS,VOLUME,DIR,ARCH} */
ioctl(fd, FAT_IOCTL_SET_ATTRIBUTES, &attrs);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1644416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档