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

2019-9-24 10:11 [复制链接] 2 161

请教下各位大神,在f_lseek函数中计算簇的位置时,当前位置为什么要减一呢?这个地方百思不得其解. l- X! S/ x# z( S. A( t

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-9-29 17:32:14 | 显示全部楼层
lseek的目的是设置文件读取指针为ofs,磁盘(主要指硬盘)最快的访问方式是连续往下读写,所有这里当读写位置不为0时,就以蔟的第一个字节的位置作为判断界限,例如蔟是512,如果ifptr<=513,正好处于当前蔟内,则给定的ofs所在蔟大于等于ifptr所在蔟,则给定位置在当前读写位置之后,可以快速计算出新的ifptr后直接读写.否则更新蔟和ifptr位置就会慢很多,需要往后倒磁头
使用道具 举报 回复
发表于 2019-9-29 17:57:54 | 显示全部楼层
东莞阿李自动化股份有限公司?* h3 F% l4 c8 E$ _& @

) r8 c9 R( x: q! x2 k% F; b! }4 y这个有些是和fatfs的实现相关了
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表