关于SD卡读写文件问题

[复制链接]
3695|11
 楼主| aiping1987 发表于 2010-7-26 15:57 | 显示全部楼层 |阅读模式
我用FAT文件系统存储数据到SD卡上,存储格式为.txt格式,然后用日期作为文档的名字,为什么我每次在程序中重新打开这个文档时,里面的内容不是接着往下写,而是重头开始写,把之前写的一些内容给覆盖了,怎么样才能让它接着上次的内容往下继续写啊?
res = f_open(&file,FileName,FA_CREATE_NEW|FA_OPEN_EXISTING|FA_READ|FA_WRITE);
wangkj 发表于 2010-7-26 16:37 | 显示全部楼层
FA_CREATE_NEW 不装,改成增加模式。
 楼主| aiping1987 发表于 2010-7-27 14:35 | 显示全部楼层
FA_CREATE_NEW  是Creates a new file. The function fails if the file is already existing.
我把那个文件的属性是设置为创建,如果存在了就打开那个文档
 楼主| aiping1987 发表于 2010-7-31 18:32 | 显示全部楼层
有谁遇到过这样的情况吗?:o
sytuxww 发表于 2010-8-1 21:01 | 显示全部楼层
你的文件系统自己写的 还是?
可以参考下一些开源的文件系统
efsl fatfs 。。。
my8804 发表于 2010-8-2 13:34 | 显示全部楼层
:lol文件系统自己写的??
还是移植的??
貌似移植的有函数有设置offset,比如xxx_seek() .  (fatfs里面好像就是这样的)
my8804 发表于 2010-8-2 13:36 | 显示全部楼层
还有你这个open()的参数属性要恰当..
 楼主| aiping1987 发表于 2010-8-4 11:25 | 显示全部楼层
文件系统不是我自己写的,是用FATS文件系统的源码,自己就写了SD卡的驱动程序
my8804 发表于 2010-8-4 12:34 | 显示全部楼层
FATFS的??那好好看下提供的API函数啊,
绝对是没问题的,因为我用过..呵呵
 楼主| aiping1987 发表于 2010-8-6 10:22 | 显示全部楼层
呵呵,谢谢楼上的帮助!我找到了。是用的f_lseek函数。
我是土匪 发表于 2010-8-6 14:32 | 显示全部楼层
参数问题
myitlover 发表于 2010-8-8 21:34 | 显示全部楼层
打开的时候传递参数是a的话就是追加写入
FS_FOpen("sd:xxxx.txt","a");
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部