野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8971|回复: 12

利用文件系统f_write()函数怎么写入整形数组到创建的文件中?

[复制链接]
发表于 2019-9-18 15:32:09 | 显示全部楼层 |阅读模式
学习了外部flash文件系统后,读写测试都过了,现在遇到一个问题就是利用f_write()ke写入字符串没问题,但是要写入整形数组,却发现在打开文件后里面的是乱码,这个怎么解决?

回复

使用道具 举报

 楼主| 发表于 2019-9-18 17:02:10 | 显示全部楼层
好像f_write()和f_read()都是对字符串的操作。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-18 17:05:41 | 显示全部楼层
搞错了,也可以直接对整形数组进行写入和读取,只是显示的是乱码而已
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-18 17:08:09 | 显示全部楼层
现在的问题是,我想要写入一个整型数组,例如{0X01,0X02,0X03,0X04,0X05}这么一个数组写入文件中,当我打开文件去查看的时候也要看到这样一个数组,而不是乱码。。。这样我要怎么做?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-18 17:08:41 | 显示全部楼层
有大神能指导一下吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-18 17:09:03 | 显示全部楼层
自己帮自己顶贴
回复 支持 反对

使用道具 举报

发表于 2019-9-19 00:03:42 | 显示全部楼层
sprintf函数,把数格式化到一个字符串中,再写入这个字符串
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-19 14:24:35 | 显示全部楼层
WishWish 发表于 2019-9-19 00:03
sprintf函数,把数格式化到一个字符串中,再写入这个字符串

那要怎么用呢?sprintf函数我看了一下,还是没怎么看懂,
举个例子吧
比如 u8 writebuff[] = {0x02,0x04,0x05,0xef};
       u8  BUFF[50];
把整形数组里的数格式化是怎么个格式?
我写的好像不对,求指正
sprintf (BUFF ,“%X”, WriteBuffer );
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-19 16:41:09 | 显示全部楼层
WishWish 发表于 2019-9-19 00:03
sprintf函数,把数格式化到一个字符串中,再写入这个字符串

解决了,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-21 10:21:39 | 显示全部楼层
WishWish 发表于 2019-9-19 00:03
sprintf函数,把数格式化到一个字符串中,再写入这个字符串

还想问一句,有没有吧字符格式化成为数的这么一个函数?
回复 支持 反对

使用道具 举报

发表于 2019-9-21 16:54:33 | 显示全部楼层
2292277081 发表于 2019-9-21 10:21
还想问一句,有没有吧字符格式化成为数的这么一个函数?

stdlib.h

atoi、atol、atof   
回复 支持 反对

使用道具 举报

发表于 2019-9-21 19:48:49 | 显示全部楼层
乱码是因为ascii码,字符转数就是楼上说的
回复 支持 反对

使用道具 举报

发表于 2019-9-24 13:10:40 | 显示全部楼层
十一楼正解。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 17:36 , Processed in 0.103437 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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