野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8738|回复: 9

关于读取SD卡内txt数据的疑惑

[复制链接]
发表于 2016-2-29 15:44:02 | 显示全部楼层 |阅读模式
请教各位大神,如果SD卡内的有一个数据量很大的TXT文件,现在要把TXT里的数据读出来放进STM32的缓冲数组里,但是stm32的数组又有一定的大小限制,不能将txt里面数据全部读出来,请问该怎么办???
回复

使用道具 举报

 楼主| 发表于 2016-2-29 15:47:41 | 显示全部楼层
在线等。。
回复

使用道具 举报

发表于 2016-2-29 16:17:51 | 显示全部楼层
也想过这个问题,肯定不能一次读出,可以一次读出几K,一直读到文件结尾,对于图片或规则数据,这应该没有什么问题,但如果是中西文结合的文本文件,一次读出的最后字节数有可能刚好是一个汉字的第一个字节,这样就不能显示出来,下一次读出的头一个字节是半个汉字却被当成ACSI码,造成后面的都是乱码
不过又想,一个很大的TXT文件,你读出来放缓存里干什么,又不能一次显示,还不如边显示边读
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-29 16:26:53 | 显示全部楼层
11kxmx 发表于 2016-2-29 16:17
也想过这个问题,肯定不能一次读出,可以一次读出几K,一直读到文件结尾,对于图片或规则数据,这应该没有 ...

边读边显示我也有个问题啊  比如我先读4096字节个数据出来然后显示,那我下一次读取的时候怎么从断开的这个地方开始读呢?有这样的函数的吗?
回复 支持 反对

使用道具 举报

发表于 2016-2-29 17:29:15 | 显示全部楼层
张兮兮0904 发表于 2016-2-29 16:26
边读边显示我也有个问题啊  比如我先读4096字节个数据出来然后显示,那我下一次读取的时候怎么从断开的这 ...

你需要记住这个位置啊。下次就从这个位置开始读取。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-29 21:49:23 | 显示全部楼层
qduwg 发表于 2016-2-29 17:29
你需要记住这个位置啊。下次就从这个位置开始读取。

可是f_read()不是都是从一个文件的头开始读的吗?怎么实现从某个断点处读啊?
回复 支持 反对

使用道具 举报

发表于 2016-3-1 07:32:50 | 显示全部楼层
本帖最后由 11kxmx 于 2016-3-1 07:36 编辑
张兮兮0904 发表于 2016-2-29 21:49
可是f_read()不是都是从一个文件的头开始读的吗?怎么实现从某个断点处读啊?


应该有f_lseek这个函数,如 f_lseek (&myfsrc, i*128)
回复 支持 反对

使用道具 举报

发表于 2016-3-1 12:25:18 | 显示全部楼层
收藏一下               
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-1 14:35:00 | 显示全部楼层
11kxmx 发表于 2016-3-1 07:32
应该有f_lseek这个函数,如 f_lseek (&myfsrc, i*128)

嗯嗯是的谢谢~~问题解决了
回复 支持 反对

使用道具 举报

发表于 2016-3-2 11:38:32 | 显示全部楼层
怎么解决的,可以把解决的过程分享一下啊。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-7 05:18 , Processed in 0.032836 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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