你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Fatfs文件系统问题,文件系统函数f_open能打开文件,stdio库...

[复制链接]
zhang5055258 提问时间:2017-8-17 21:13 /
悬赏1ST金币已解决
如题:Fatfs文件系统问题,文件系统函数f_open能打开文件,stdio库的fopen函数不能打开
移植了一个Fatfs文件系统,里面的文件使用fatfs文件系统的读写函数f_open能打开文件,但使用C语言的stdio库里面的fopen函数不能打开文件,并且errno也为0,求解惑啊 屏幕快照 2017-08-17 下午8.44.30.png

最佳答案

查看完整内容

fatfs不支持c-lib里面的文件系统API。
收藏 评论8 发布时间:2017-8-17 21:13

举报

8个回答
moyanming2013 回答时间:2017-8-17 21:14:00
fatfs不支持c-lib里面的文件系统API。
@乔木 回答时间:2017-8-18 13:15:34
要是C标准库里的文件系统API能直接用在MCU上,你还费啥劲去移植文件系统啊
zhang5055258 回答时间:2017-8-18 16:23:49
moyanming2013 发表于 2017-8-18 11:28
fatfs不支持c-lib里面的文件系统API。

C的库的API能不能定义让他兼容啊
zhang5055258 回答时间:2017-8-18 17:47:16
@乔木 发表于 2017-8-18 13:15
要是C标准库里的文件系统API能直接用在MCU上,你还费啥劲去移植文件系统啊 ...

现在的问题是文件系统能打开,C库函数打不开,库函数需要对定义硬件操作接口吗
@乔木 回答时间:2017-8-21 22:33:27
zhang5055258 发表于 2017-8-18 17:47
现在的问题是文件系统能打开,C库函数打不开,库函数需要对定义硬件操作接口吗 ...

你在电脑上用printf的时候只需要加一个stdio.h的头文件,你在单片机上如果还要用printf,你只加一个stdio.h的头文件能有用吗?一样的,你要用C函数库里的API,你不改里面代码,能有用吗??而且,你的C库面向的是个人电脑,它的文件系统很可能是适应个人电脑的文件系统,你用在单片机上,能有用吗??

评分

参与人数 1ST金币 +3 收起 理由
zero99 + 3

查看全部评分

小小超 回答时间:2017-8-22 08:56:49
要对应硬件匹配的。返回值没错,并不代表是正确打开了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zhang5055258 回答时间:2017-8-22 11:01:43
@乔木 发表于 2017-8-21 22:33
你在电脑上用printf的时候只需要加一个stdio.h的头文件,你在单片机上如果还要用printf,你只加一个stdio ...

printf可以使用重定向,将传递进来的参数引导自己想要的地方就行,比如串口,fopen还会反悔一个FILE机构体,就不知道怎么去重定向了
@乔木 回答时间:2017-8-22 11:10:15
zhang5055258 发表于 2017-8-22 11:01
printf可以使用重定向,将传递进来的参数引导自己想要的地方就行,比如串口,fopen还会反悔一个FILE机构 ...

哥我帮不了了

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版