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函數為驅動器注冊一個工作區。只有這樣,其他文件函數才能正常工作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM