f_open——创建/打开一个文件

创建/打开一个用于访问文件的文件对象

FRESULT f_open
{
 FIL fp,       / 空白文件对象结构指针*/
 const TCHAR path, / 文件名指针*/
 BYTE mode    /* 模式标志*/
}

f_open——创建/打开一个文件 - 深海精灵 - 深海精灵
注意:
  当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_PROTECT——在存储介质被写保护的情况下,以写模式打开或创建文件对象
FR_DISK_ERR——由于底层磁盘I/O接口函数中的一个错误,而导致该函数失败
FR_INT_ERR——由于一个错误的FAT结构或一个内部错误,而导致该函数失败
FR_NOT_ENABLE——逻辑驱动器没有工作区
FR_NO_FILESYSTEM——磁盘上没有有效的FAT卷

说明:
  如果函数成功,则创建一个文件对象,该文件对象被后续的读/写函数用来访问文件,如果想要关闭一个打开的文件对象,则使用f_close函数,如果不关闭修改后的文件,文件可能会崩溃。

例子:
FRESULT rc;
FATFS fatfs;
FIL fil;
rc = f_open(&fil, “1.BMP”, FA_OPEN_EXISTING|FA_READ);

猜你喜欢

转载自blog.csdn.net/qq_25398541/article/details/86636171