搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Postgresql数据类型-时间类型_postgresql 时间类型
2
Navicat Premium 15离线激活(非注册机激活)_navicat premium15
3
Python爬虫中如何通过post发请求,浏览器控制台抓包教程,有道翻译爬虫程序,通过python伪装翻译(post案例)_爬虫post
4
常用Web安全扫描工具合集
5
MySQL数据库(基本使用)_mysql数据库基础设置
6
《数字IC: Verilog》5.2 时钟简介_verilog组合逻辑怎么产生时钟
7
【C++ STL】哈希 Hash(闭散列、开散列介绍及其实现)_c++ stl hash
8
3、Git使用不完全指南:git/github/gitlab/gitee的区别,原理和常用命令总结_gitlab github gitee
9
51单片机c语言按键扫描程序,单片机按键扫描数码管显示C语言程序
10
Source Insight 工程中添加.S文件_source insight添加.s文件
当前位置:
article
> 正文
FatFS f_open()函数详解_fa_open_existing
作者:我家自动化 | 2024-04-21 16:28:25
赞
踩
fa_open_existing
最新版 FatFS f_open详解
时间 2014-03-21 16:21:21 程序员玩耍的小窝
原文 http://www.forwhat.cn/post-202.html
主题 技术
作者:fly发布于:2014-3-21 16:23 分类:嵌入式
f_open
创建/打开一个用于访问文件的文件对象
FRESULT f_open (
FIL* FileObject, /* 空白文件对象结构指针 */
const XCHAR* FileName, /* 文件名指针 */
BYTE ModeFlags /* 模式标志 */
);
参数
FileObject
将被创建的文件对象结构的指针。
FileName
NULL结尾的字符串指针,该字符串指定了将被创建或打开的文件名。
ModeFlags
指定文件的访问类型和打开方法。它是由下列标志的一个组合指定的。
模式 描述
FA_READ 指定读访问对象。可以从文件中读取数据。
与FA_WRITE结合可以进行读写访问。
FA_WRITE 指定写访问对象。可以向文件中写入数据。
与FA_READ结合可以进行读写访问。
FA_OPEN_EXISTING 打开文件。如果文件不存在,则打开失败。(默认)
FA_OPEN_ALWAYS 如果文件存在,则打开;否则,创建一个新文件。
FA_CREATE_NEW 创建一个新文件。如果文件已存在,则创建失败。
FA_CREATE_ALWAYS 创建一个新文件。如果文件已存在,则它将被截断并覆盖。
注意:当 _FS_READONLY == 1 时,模式标志 FA_WRITE, FA_CREATE_ALWAYS, FA_CREATE_NEW, FA_OPEN_ALWAYS 是无效的。
返回值
FR_OK (0)
函数成功,该文件对象有效。
FR_NO_FILE
找不到该文件。
FR_NO_PATH
找不到该路径。
FR_INVALID_NAME
文件名无效。
FR_INVALID_DRIVE
驱动器号无效。
FR_EXIST
该文件已存在。
FR_DENIED
由于下列原因,所需的访问被拒绝:
以写模式打开一个只读文件。
由于存在一个同名的只读文件或目录,而导致文件无法被创建。
由于目录表或磁盘已满,而导致文件无法被创建。
FR_NOT_READY
由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。
FR_WRITE_PROTECTED
在存储介质被写保护的情况下,以写模式打开或创建文件对象。
FR_DISK_ERR
由于底层磁盘I/O接口函数中的一个错误,而导致该函数失败。
FR_INT_ERR
由于一个错误的FAT结构或一个内部错误,而导致该函数失败。
FR_NOT_ENABLED
逻辑驱动器没有工作区。
FR_NO_FILESYSTEM
磁盘上没有有效地FAT卷。
描述
如果函数成功,则创建一个文件对象。该文件对象被后续的读/写函数用来访问文件。如果想要关闭一个打开的文件对象,则使用f_close函数。如果不关闭修改后的文件,那么文件可能会崩溃。
在使用任何文件函数之前,必须使用f_mount函数为驱动器注册一个工作区。只有这样,其他文件函数才能正常工作。
例子(文件拷贝)
void main (void)
{
FATFS fs[2]; /* 逻辑驱动器的工作区(文件系统对象) */
FIL fsrc, fdst; /* 文件对象 */
BYTE buffer[4096]; /* 文件拷贝缓冲区 */
FRESULT res; /* FatFs 函数公共结果代码 */
UINT br, bw; /* 文件读/写字节计数 */
/* 为逻辑驱动器注册工作区 */
f_mount(0, &fs[0]);
f_mount(1, &fs[1]);
/* 打开驱动器 1 上的源文件 */
res = f_open(&fsrc, "1:srcfile.dat", FA_OPEN_EXISTING | FA_READ);
if (res) die(res);
/* 在驱动器 0 上创建目标文件 */
res = f_open(&fdst, "0:dstfile.dat", FA_CREATE_ALWAYS | FA_WRITE);
if (res) die(res);
/* 拷贝源文件到目标文件 */
for (;;) {
res = f_read(&fsrc, buffer, sizeof(buffer), &br);
if (res || br == 0) break; /* 文件结束错误 */
res = f_write(&fdst, buffer, br, &bw);
if (res || bw < br) break; /* 磁盘满错误 */
}
/* 关闭打开的文件 */
f_close(&fsrc);
f_close(&fdst);
/* 注销工作区(在废弃前) */
f_mount(0, NULL);
f_mount(1, NULL);
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家自动化/article/detail/463975
推荐阅读
article
Ollama
+
Open
WebUI实践_
openwebui
openai
...
在上一篇文章中, 我们已经学会了如何用
Ollama
在本地运行大模型。但是所有的操作都是在命令行中进行的, 不是很直观。如...
赞
踩
article
android
:
open
failed
: EACCES (Permission
denied
)...
1. 问题描述:在Android中,用程序访问Sdcard时,有时出现“java.io.IOException: ope...
赞
踩
article
Android
open
failed
:
EACCES
(
Permission
denied
)) 问...
问题:
android
9/10 手机上访问存储空间失败,报错:如:10-31 13:35:30.726 7619 761...
赞
踩
article
android
open
failed
:
EACCES
(Permission denied)_a...
问题:在
android
4.1的系统上打开本地文件时 报错:/
storage
/sdcard0/DCIM/Camera/00...
赞
踩
article
Android
open
failed
: EACCES (Permission denied)错误_...
在写
Android
下载更新时,部分手机遇到这样的问题,主要是
Android
10,大概意思是权限,什么的,不过我的app权...
赞
踩
article
Android
问题笔记四十六:解决
open
failed
: EACCES (Permission d...
>
Android
Q 引入了分区存储的概念 > 官方解释:以
Android
10(API 级别 29)及更高版本为目...
赞
踩
article
Android10
报错:
open
failed
:EACCES(Permission
denied
)_...
Android10
报错:
open
failed
:EACCES(Permission
denied
)1、环境2、解决方法3...
赞
踩
article
解决
Android10
无法下载安装
apk
的问题
open
failed
: EACCES (Perm...
背景Android 10 华为P30 pro手机从服务器下载
apk
安装包的时候报错
open
failed
: EACCES...
赞
踩
article
LLMs之
LLaMA
:《
LLaMA
:
Open
and
Efficient
Foundation
L...
LLMs之
LLaMA
:《
LLaMA
:
Open
and
Efficient
Foundation
Language
M...
赞
踩
article
Python
读写文件
with
open
()
as
_
with
open
as
...
Python
读写文件
with
open
()
as
_
with
open
as
with
open
as
...
赞
踩
article
添加
react
到已存在
的
项目
中(
Adding
React
to
an
Existing
Applic...
将
react
功能添加到已有
的
项目
中去,不必担心要重构你
的
项目
。 你只需要按以下步骤:如果你
的
项目
中没有package.j...
赞
踩
article
Could not
open
client
transport
with
JDBC Uri: jdb...
今天我利用DBeaver工具连接linux中的hive,出现以下错误:Could not
open
client
tra...
赞
踩
article
Hive
连接报错:Could not
open
client
transport
with
JDBC...
Hive
连接报错:Could not
open
client
transport
with
JDBC Uri:
jdbc
...
赞
踩
article
Could not
open
client
transport
with JDBC Uri xxx、...
Could not
open
client
transport
with JDBC Uri xxx、Caused by:...
赞
踩
article
详解:
hive
启动
hive
server2
连
JDBC
报错:Could not
open
client
...
hive
启动
hive
server2
连
JDBC
报错:Could not
open
client
transport wit...
赞
踩
article
Error: Could not
open
client
transport
with JDBC U...
在hive目录下使用beeline命令:bin/beeline -u
jdbc
:
hive2
://
hadoop102
:10...
赞
踩
article
Cocoa
pods
导致
debug
.
xcconfig
:
unable
to
open
file这类型的...
是由于Xcode10版本工程cocoapod <=1.5.3问题查看pod版本 :pod --version解决方案:升...
赞
踩
article
Datasophon升级
doris
版本为2.0.1_please
set
the
maximum
n...
升级请使用本章节中推荐的步骤进行集群升级,Doris 集群升级可使用滚动升级的方式进行升级,无需集群节点全部停机升级,极...
赞
踩
article
安装
Oracle12C
提示Hard
limit
:maxinum
open
file
descrip
t...
在CentOS6.9安装
Oracle12C
,提示:Hard
limit
:maxinum
open
file
descri...
赞
踩
article
"
maximum
open
file
descrip
to
rs" is
set
to
at least...
安装oracle或者其他oracle产品时候,最后检查项目提示问题,请确保配置了合适的资源限制参数,资源限制配置参数文件...
赞
踩
相关标签
语言模型
移动开发
java
eclipse
android
EACCES Permission de
open failed
笔记
权限
kotlin
安卓
apk
人工智能
自然语言处理
LLaMA
python
with ... as
react
babel
ES6
javascript
hive
mysql
数据库