怎么将sd卡中txt文件的数据分割空格,存成一维数组?用fscanf或sscanf可以吗?

2019-07-20 00:38发布

本帖最后由 wjqqq 于 2019-7-16 15:46 编辑

txt原始数据 txt原始数据
现在已经把txt存在了sd卡中,数据之间用空格分开,但是fatfs库里只有打开、读文件这种函数,所以只能把数据以字符串的形式读进来,不能存成一位数组。
c语言里一般用fscanf能很容易做这个事,但是fscanf函数第一个输入参数是FILE *类型,而stm32的fatfs库里用的是FIL*类型,好像不能用。

使用sscanf切割比较短的数据是可以的:
360截图172105019713685.png
这样可以把四个数据存到长度为4的一位数组中,但是这样数据多达几千几万的话,肯定就不行了。


因此我在for循环中使用sscanf,可能是以前没用过所以在哪里出错了吧,读四个数据,结果是数组每个元素都是第一个数据:
360截图176709197810883.png
所以想请问大家,该怎么用sscanf或fscanf完成大量数据切分存成数组呢?或是有其他方法也行。
更新:
已经找到使用sscanf完成分割存为数组功能的方法,没有fscanf好用,必须得先把数据读到缓冲区,朋友们有其他想法也可以告诉我。




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 06:22
帮顶
不同
2楼-- · 2019-07-20 06:32
你这个图片里的位数都是一样的,如果每行的字节数都一样,那就每次读一行字符串,然后使用sprintf格式化成数字就可以处理保存了
wjqqq
3楼-- · 2019-07-20 09:55
 精彩回答 2  元偷偷看……

一周热门 更多>