关于fatfs源码中f_lseek函数的疑惑点

发布于 2019-09-24 10:11:04
请教下各位大神,在f_lseek函数中计算簇的位置时,当前位置为什么要减一呢?这个地方百思不得其解:'(

QQ截图20190924100715.png

查看更多

关注者
0
被浏览
428
2 个回答
iamyhw
iamyhw 2019-09-29
lseek的目的是设置文件读取指针为ofs,磁盘(主要指硬盘)最快的访问方式是连续往下读写,所有这里当读写位置不为0时,就以蔟的第一个字节的位置作为判断界限,例如蔟是512,如果ifptr<=513,正好处于当前蔟内,则给定的ofs所在蔟大于等于ifptr所在蔟,则给定位置在当前读写位置之后,可以快速计算出新的ifptr后直接读写.否则更新蔟和ifptr位置就会慢很多,需要往后倒磁头
bernard
bernard 2019-09-29
东莞阿李自动化股份有限公司?

这个有些是和fatfs的实现相关了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友