From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- third_party/fatfs/doc/ja/open.html | 135 +++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 third_party/fatfs/doc/ja/open.html (limited to 'third_party/fatfs/doc/ja/open.html') diff --git a/third_party/fatfs/doc/ja/open.html b/third_party/fatfs/doc/ja/open.html new file mode 100644 index 0000000..b6678c8 --- /dev/null +++ b/third_party/fatfs/doc/ja/open.html @@ -0,0 +1,135 @@ + + + + + + + +FatFs - f_open + + + + +
+

f_open

+

ファイルをオープンまたは作成します。

+
+FRESULT f_open (
+  FIL* FileObject,      /* 空のファイル・オブジェクト構造体へのポインタ */
+  const char* FileName, /* ファイルのフルパス名へのポインタ */
+  BYTE ModeFlags        /* モードフラグ */
+);
+
+
+ +
+

引数

+
+
FileObject
+
新しく作成するファイル・オブジェクト構造体へのポインタを指定します。以降、そのファイルを閉じるまでこのファイル・オブジェクトを使用してファイル操作をします。
+
FileName
+
開く(または作成する)ファイルの ファイル名が入った'\0'で終わる文字列へのポインタを指定します。
+
ModeFlags
+
ファイルのアクセス方法やオープン方法を決めるフラグです。このパラメータには次の組み合わせを指定します。
+ + + + + + + + +
意味
FA_READ読み出しモードで開きます。読み書きする場合はFA_WRITEと共に指定します。
FA_WRITE書き込みモードで開きます。読み書きする場合はFA_READと共に指定します。
FA_OPEN_EXISTING既存のファイルを開きます。ファイルが無いときはエラーになります。
FA_OPEN_ALWAYS既存のファイルを開きます。ファイルが無いときはファイルを作成します。
FA_CREATE_NEWファイルを作成します。同名のファイルがある場合は、エラーになります。
FA_CREATE_ALWAYSファイルを作成します。同名のファイルがある場合は、サイズを0にしてから開きます。
+
+
+
+ + +
+

戻り値

+
+
FR_OK (0)
+
正常終了。以降、FileObject構造体を使ってこのファイルを操作できます。
+
FR_NO_FILE
+
ファイルが見つからない。
+
FR_NO_PATH
+
パスが見つからない。
+
FR_INVALID_NAME
+
ファイル名が不正。
+
FR_INVALID_DRIVE
+
ドライブ番号が不正。
+
FR_EXIST
+
同名のファイルが既にある。
+
FR_DENIED
+
アクセスが拒否された。リード・オンリー・ファイルの書き込みモード・オープン、同名のディレクトリまたはリード・オンリー・ファイルがある状態でのファイル作成、ディスクまたはディレクトリ・テーブルが満杯でファイルを作成できないなど。
+
FR_NOT_READY
+
メディアがセットされていないなど、ディスク・ドライブが動作不能状態。
+
FR_WRITE_PROTECTED
+
メディアが書き込み禁止状態で書き込み系オープンをした。
+
FR_RW_ERROR
+
ディスク・エラーまたは内部エラーによる失敗。
+
FR_NOT_ENABLED
+
その論理ドライブにワーク・エリアが割り当てられていない。
+
FR_NO_FILESYSTEM
+
ディスク上に有効なFATパーテーションが見つからない。
+
+
+ + +
+

解説

+

作成されたファイル・オブジェクトは、以降そのファイルに対するアクセスに使用します。ファイルを閉じるときは、f_close()を使用します。

+

ファイル操作関数を使用する前にまず、f_mount()を使ってそれぞれの論理ドライブにワーク・エリア(ファイル・システム・オブジェクト)を与えなければなりません。この初期化の後、その論理ドライブに対して全てのファイル関数が使えるようになります。

+

リードオンリー構成では、FA_WRITE, FA_CREATE_ALWAYS, FA_CREATE_NEW, FA_OPEN_ALWAYSの各フラグはサポートされません。

+
+ + +
+

使用例(ファイル・コピー)

+
+void main ()
+{
+    FATFS fs;            // 論理ドライブのワーク・エリア(ファイル・システム・オブジェクト)
+    FIL fsrc, fdst;      // ファイル・オブジェクト
+    BYTE buffer[4096];   // file copy buffer
+    FRESULT res;         // FatFs function common result code
+    WORD br, bw;         // File R/W count
+
+    // ドライブ0にワーク・エリアを与える
+    f_mount(0, &fs);
+
+    // ソース・ファイルを開く
+    res = f_open(&fsrc, "srcfile.dat", FA_OPEN_EXISTING | FA_READ);
+    if (res) die(res);
+
+    // デスティネーション・ファイルを作成する
+    res = f_open(&fdst, "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;   // error or eof
+        res = f_write(&fdst, buffer, br, &bw);
+        if (res || bw < br) break;   // error or disk full
+    }
+
+    // 全てのファイルを閉じる
+    f_close(&fsrc);
+    f_close(&fdst);
+
+    // ワーク・エリアを開放する
+    f_mount(0, NULL);
+}
+
+
+ + +
+

参照

+

f_read, f_write, f_close, FIL, FATFS

+
+ +

戻る

+ + -- cgit v1.3.1