如何设置FatFs文件系统支持长文件名

如何设置FatFs文件系统支持长文件名,第1张

自WIN95后的FAT32开始的磁盘 *** 作系统,都能支持长文件名的。NTFS更不例外。你的问题来得有点蹊跷,怀疑是系统出了问题。建议重做系统。如果对移动盘进行格式化,会造成数据丢失,格之前,应该先行备份。

读写长文件名测试成功,必须在调用f_readdir前为长文件名分配内存.代码如下:

#if _USE_LFN

static char lfn[_MAX_LFN * (_DF1S ? 2 : 1) + 1]

finfo.lfname = lfn

finfo.lfsize = sizeof(lfn)

#endif

这个在文件系统作者的帮助文档里有描述。由于没有空间放中文码表,所以用437代码页,可以用ASCII长文件名。已测试通过。

可以试试中文码长文件名.

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7917511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存