单片机 > 单片机程序设计 > 详情

STM32读写TXT时追加数据的方法

发布时间:2020-12-23 发布时间:
|

追加数据的方法,最主要的是使用f_lseek函数,但使用此函数时,我还是碰到不少的问题,现将自己在调试中碰到的事项分享给大家:


1.为了追加数据,必须获取原文件的长度,可用f_size函数,如下代码:


res = f_open(&fsrc, (const TCHAR *)DataFile, FA_OPEN_EXISTING | FA_READ);

FileSize = f_size(&fsrc);  


2.为了写数据,必须以写的方式再打开一次文件


res=f_open(&fsrc,"0.txt", FA_CREATE_ALWAYS | FA_WRITE);


3.偏移指针,需要注意的是,空的TXT,用f_size也会产生长度值,如果把这个偏移量也加入的话,TXT开头就会出现乱码,为此需要判断是否是空件


if(FileSize>50)res=f_lseek(&fsrc,FileSize); 


经过以上处理后,就可以直接使用f_write写函数了,在关闭文件前,可以重复使用写函数,而不必考虑指针偏移,如以下代码


res = f_write(&fsrc, TFData,26,&bw);


res = f_write(&fsrc, TFData,26,&bw);

关键字:STM32  读写TXT  追加数据 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C8051F020的UART