## f_read

ファイルからデータを読み出します。

    FRESULT f_read (
      FIL* FileObject,    /* ファイル・オブジェクト構造体 */
      void* Buffer,       /* 読み出したデータを格納するバッファ */
      UINT ByteToRead,    /* 読み出すバイト数 */
      UINT* ByteRead      /* 読み出されたバイト数 */
    );

#### 引数

FileObject
  ファイル・オブジェクト構造体へのポインタを指定します。
Buffer
  読み出したデータを格納するバッファを指すポインタを指定します。
ByteToRead
  読み出すバイト数(0〜UINTの最大値)を指定します。
ByteRead
  実際に読み出されたバイト数を格納する変数を指すポインタを指定します。戻り値は関数の成否にかかわらず常に有効です。

#### 戻り値

FR_OK (0)
  正常終了。
FR_DENIED
  非読み込みモードで開いたファイルから読み込もうとした。
FR_DISK_ERR
  ディスク・エラーによる失敗。
FR_INT_ERR
  不正なFAT構造または内部エラーによる失敗。
FR_NOT_READY
  メディアがセットされていないなど、物理ドライブが動作不能状態。
FR_INVALID_OBJECT
  無効なファイル・オブジェクト。

#### 解説

読み込み開始位置は、現在のリード/ライト・ポインタからになります。リード/ライト・ポインタは読み込まれたバイト数だけ進みます。関数が正常終了した後は、`*ByteRead`の値をチェックすべきです。`*ByteRead`が`ByteToRead`よりも小さいときは、読み込み中にファイルの終端に達したことを示しています。

#### 対応情報

全ての構成で使用可能です。

#### 参照

`f_open, fgets, f_write, f_close, FIL`

戻る