## f_write

ファイルにデータを書き込みます。

    FRESULT f_write (
      FIL* fp,           /* [IN] ファイル・オブジェクト */
      const void* buff,  /* [IN] 書き込みデータ */
      UINT btw,          /* [IN] 書き込むバイト数 */
      UINT* bw           /* [OUT] 書き込まれたバイト数 */
    );

#### 引数

fp
  ファイル・オブジェクト構造体へのポインタを指定します。
buff
  書き込むデータを格納したバッファを指すポインタを指定します。
btw
  書き込むバイト数(0〜`UINT`型の最大値)を指定します。
bw
  書き込まれたバイト数を格納する変数を指すポインタを指定します。戻り値は関数の成否にかかわらず常に有効です。

#### 戻り値

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_DENIED, FR_INVALID_OBJECT, FR_TIMEOUT

#### 解説

書き込み開始位置は、リード/ライト・ポインタの位置からになります。リード/ライト・ポインタは実際に書き込まれたバイト数だけ進みます。関数が正常終了した後、要求したバイト数が書き込まれたかどうか`*bw`をチェックすべきです。`*bw`が`btw`より小さいときは、ディスク・フルを意味します。ディスク・フルが発生しているときまたはそれに近いときは、制御が帰るまで時間がかかる場合があります。

#### 対応情報

`_FS_READONLY == 0`のときに使用可能です。

#### 参照

`f_open, f_read, fputc, fputs, fprintf, f_close, FIL`

戻る