关于STM32单片机FATFS文件系统下删除SD卡中txt文件一行的问题

2019-07-20 21:23发布

如题,之前做的从SD卡中读取数据已经OK了,现在需要从SD卡中的*.txt文件中删除一行指定的信息,数据比较少,比如ABCDEF,这个有什么好的的方法么?大家说说思路。
我看了在PC上操作文件他们的方法是要把整个文件读到内存里,然后删除之后重新些回去,但是txt文件比较大,单片机的内存肯定不够。
大家一起来给点建议吧!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
void 发表于 2016-7-7 11:13
对,好像也没更好的办法了。Fatfs应该也没有专门删除文件中的内容的接口。

我下午想起来一个适用于我当前这个项目的一个比较简单的方法,因为我这边是需要添加和删除的,这个都是由服务器来控制,当删除数据的时候,我把这一行的数据都覆盖成空格符(前提是我这里的数据每行的长度相同),这样在文件中就不存在这个数据,查找的时候也不会有这个数据,当添加数据的时候,我从文件末尾开始找空格符,找到之后覆盖空格符这一行,如果没有空格的就添加到文件的末尾,这样添加就不会让文件中存在太多的空格,并且也不用把文件倒来倒去的了。

一周热门 更多>