最新版 fatfs f_open詳解
時間 2014-03-21 16:21:21 程式設計師玩耍的小窩
原文
主題 技術
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)
/* 關閉開啟的檔案 */
f_close(&fsrc);
f_close(&fdst);
/* 登出工作區(在廢棄前) */
f_mount(0, null);
f_mount(1, null);
}
mod函式詳解
我們知道,mod函式是乙個求餘函式,其格式為 mod nexp1,nexp2 即是兩個數值表示式作除法運算後的餘數。那麼 兩個同號整數求餘與你所知的兩個正數求餘完全一樣 即兩個負整數與兩個正整數的演算法一樣 一 兩個異號整數求餘 1.函式值符號規律 餘數的符號 mod 負,正 正 mod 正,負 負...
CDC PatBlt 函式詳解。
函式功能 該函式使用當前選入指定裝置環境中的刷子繪製給定的矩形區域。通過使用給出的光柵操作來對該刷子的顏色和表面顏色進行組合。函式原型 bool patblt hdc hdc,int nxleft,int nyleft,int nwidth,int nheight,dword dwrop 引數 hd...
php header 函式詳解
一 作用 php只是以http協議將html文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下http協議了,與php無關了,可參照http www.w3.org protocols rfc2616 rfc2616。傳統的標頭一定包含下面三種標頭之一,並只能出現一次。...