xyx121 发表于 2022-11-29 11:00:29

fatfs打开并创建文件成功,调用f_stat("0:/test.txt",&FileInf);获取不到文件信息

fatfs打开并创建文件成功Res = f_open(&fil,"0:/test.txt", FA_CREATE_ALWAYS | FA_WRITE | FA_READ);,但是调用f_stat("0:/test.txt",&FileInf);获取不到文件信息,这是怎么回事?

xyx121 发表于 2022-11-29 11:01:21

提示FR_NO_FILE

eric2013 发表于 2022-11-30 10:50:09

你的文件之前是已经存在的吗,如果是存在的,你调用f_stat是没问题的。

xyx121 发表于 2022-11-30 13:46:00

是每次f_write之后再调用f_stat就获取不到文件信息

xyx121 发表于 2022-11-30 14:04:29

eric2013 发表于 2022-11-30 10:50
你的文件之前是已经存在的吗,如果是存在的,你调用f_stat是没问题的。

发现是每次进行f_write写操作之后,再调用f_stat就报FR_NO_FILE,不进行写操作就可以获取

1192680568 发表于 2022-12-1 18:23:58

兄弟我的也是,读取不了

caicaptain2 发表于 2022-12-2 16:41:45

本帖最后由 caicaptain2 于 2022-12-2 16:48 编辑

xyx121 发表于 2022-11-30 14:04
发现是每次进行f_write写操作之后,再调用f_stat就报FR_NO_FILE,不进行写操作就可以获取
文件操作中,仅仅使用f-write后,并不是马上就写入了内容。文件系统会自己管理一个缓冲,等一会儿才能真的写入。
如果你写入了内容后,需要马上读取,那么必须在wirte函数后,执行一个叫f_sync的函数就可以了。



页: [1]
查看完整版本: fatfs打开并创建文件成功,调用f_stat("0:/test.txt",&FileInf);获取不到文件信息