STM32读写TXT时追加数据的方法
2017-07-04 08:27
477 查看
追加数据的方法,最主要的是使用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);
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文件(可追加数据)的示例代码
- C#读写txt文件数据的两种方法
- ZFI008.TXT(用AVL和EXCEL两种方法到处数据)
- 文件读写最简单的方法(附完整双精度浮点型数据向IEEE754型数据转换的原码)
- 网页中数据导出方法.net语言3.导出.doc .txt .xml格式的
- Linux内核中读写文件数据的方法
- Linux内核中读写文件数据的方法
- Windows 2000下对磁盘扇区数据的直接读写访问方法
- Linux内核中读写文件数据的方法
- 用于读写临时数据的方法
- STM32与FPGA通信写数据出错问题解决方法
- Nand Flash数据存储方式和数据读写方法!
- 使用Visual C++直接读写巨型数据的方法。
- Nand Flash数据存储规则与数据读写方法一二三
- Java网络编程从入门到精通(34):读写缓冲区中的数据---使用get和put方法按顺序读写单个数据
- 将Oracle数据库中的数据导出为txt格式(方法2:)
- iPhone读写临时数据方法
- ASP.NET MVC3 快速入门-第六节 增加一个追加数据的方法和一个追加数据的视图(转)
- Nand Flash数据存储规则与数据读写方法
- matlab 读写txt文本文件的方法