OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7349|回复: 3

FATFS文件系统下如何对文件进行追加写入?

[复制链接]

34

主题

127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1067
金钱
1067
注册时间
2012-1-7
在线时间
157 小时
发表于 2016-5-30 16:54:34 | 显示全部楼层 |阅读模式
1金钱
现使用FATFS文件系统对文件进行操作。要多次向一个文件里写入数据。使用FA_WRITE|FA_OPEN_ALWAYS打开文件以后,通过操作f_sleek对指针进行偏移,然后写入新的数据。有个疑问,有没有检测文件是否存在的函数?如果存在,打开后进行偏移操作然后写入数据;如果不存在,新建文件不进行偏移,直接写入。
也就是说如何来确定第一次不做偏移处理,而后续的写入都要在之前的数据上进行偏移操作再写入。望指教。



最佳答案

查看完整内容[请看2#楼]

根据f_open函数的返回值可以判断要打开的文件是否存在,可以根据f_size是否为0判断文件是否为空!二者结合可以解决你的问题!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

113

帖子

0

精华

高级会员

Rank: 4

积分
988
金钱
988
注册时间
2013-4-21
在线时间
307 小时
发表于 2016-5-30 16:54:35 | 显示全部楼层
天涯水乡 发表于 2016-5-30 17:00
通过f_size进行判断可行不?打开后如果返回0,则为第一次不偏移写入,如果不为零,表示已经有数据,直接进 ...

根据f_open函数的返回值可以判断要打开的文件是否存在,可以根据f_size是否为0判断文件是否为空!二者结合可以解决你的问题!
淘宝小店(一嵌在线):https://shop126340021.taobao.com
QQ:3287952605
QQ群:491729196
回复

使用道具 举报

34

主题

127

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1067
金钱
1067
注册时间
2012-1-7
在线时间
157 小时
 楼主| 发表于 2016-5-30 17:00:24 | 显示全部楼层
通过f_size进行判断可行不?打开后如果返回0,则为第一次不偏移写入,如果不为零,表示已经有数据,直接进行偏移后写入?
回复

使用道具 举报

117

主题

598

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
1702
金钱
1702
注册时间
2012-5-10
在线时间
439 小时
发表于 2016-5-31 11:48:59 | 显示全部楼层
FA_OPEN_ALWAYS,你用了这个,不就可以了嘛,没有就自动帮你新建了,每次打开成功后,你直接便宜到文件末尾就ok了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 05:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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