## f_write

The f_write writes data to a file.

    FRESULT f_write (
      FIL* fp,          /* [IN] Pointer to the file object structure */
      const void* buff, /* [IN] Pointer to the data to be written */
      UINT btw,         /* [IN] Number of bytes to write */
      UINT* bw          /* [OUT] Pointer to the variable to return number of bytes written */
    );

#### Parameters

fp
  Pointer to the open file object structure.
buff
  Pointer to the data to be written.
btw
  Specifies number of bytes to write in range of `UINT` type.
bw
  Pointer to the `UINT` variable to return the number of bytes written. The value is always valid after the function call regardless of the result code.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_DENIED, FR_INVALID_OBJECT, FR_TIMEOUT

#### Description

The function starts to write data to the file at the position pointed by the read/write pointer. The read/write pointer advances as number of bytes written. After the function succeeded, `*bw` should be checked to detect the disk full. In case of `*bw` < `btw`, it means the volume got full during the write operation. The function can take a time when the volume is full or close to full.

#### QuickInfo

Available when `_FS_READONLY == 0`.

#### See Also

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

Return