fatfs文件系统支持4GB文件。
disk_initialize()等函数是FATFS底层的几个接口,移植实现后,FATFS的 *** 作跟WINDOWS上的文件 *** 作差不多一样,FATFS源代码里有说明文档自己看,不过设备要先挂载,如果原来的设备没有文件系统,还要格式化一下,才能用。
对于FAT16文件系统,可以保存的文件体积最大值是4 GB - 1 byte (2^32 bytes - 1 byte);卷的最大体积是4GB;每个卷上最多可以保存的文件数量是65,536个 (2^16);根目录下可以保存的文件和文件夹数量最大值是512个(如果使用了长文件名,该数字还会减小)。
FatFs 提供下面的函数:
f_mount - 注册/注销一个工作区域(Work Area)
f_open - 打开/创建一个文件
f_close - 关闭一个文件
f_read - 读文件
f_write - 写文件
f_lseek - 移动文件读/写指针
f_truncate - 截断文件
f_sync - 冲洗缓冲数据 Flush Cached Data
f_opendir - 打开一个目录
f_readdir - 读取目录条目
f_getfree - 获取空闲簇 Get Free Clusters
1、理论上不可能允许用户使用无限长度的文件名,其一,Windows的文件系统提供文件夹的管理形式,从而避免了文件名重复,比如c:\1.txt和c:\windows\1.txt,虽然都是1.txt,但是却不两个不同的文件,因此不需要超长的文件名。 其二、无限长度的文件名字,势必导致内存溢出,这就意味着程序的崩溃。 2、windows xp/2003默认的文件名长度为255,路径长度为260,Win7系统,文件名长度支持最大32767个字符,这足够用户使用,系统内核也以此为限制,这种限制是在编写windows系统时就预设好的,内核中的很多代码,都以此预设为基础,因此不会向用户开放设置接口。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)