## f_write

The f_write writes data to a file.

    FRESULT f_write (
      FIL* FileObject,     /* Pointer to the file object structure */
      const void* Buffer,  /* Pointer to the data to be written */
      UINT ByteToWrite,    /* Number of bytes to write */
      UINT* ByteWritten    /* Pointer to the variable to return number of bytes written */
    );

#### Parameters

FileObject
  Pointer to the open file object structure.
Buffer
  Pointer to the data to be written.
ByteToWrite
  Specifies number of bytes to write in range of UINT.
ByteWritten
  Pointer to the UINT variable to return number of bytes written.

#### Return Values

FR_OK (0)
  The function succeeded.
FR_DENIED
  The function denied due to the file has been opened in non-write mode.
FR_RW_ERROR
  The function failed due to a disk error or an internal error.
FR_NOT_READY
  The disk drive cannot work due to no medium in the drive or any other reason.
FR_INVALID_OBJECT
  The file object is invalid.

#### Description

The read/write pointer in the file object is increased in number of bytes written. After the function succeeded, `*ByteWritten` should be checked to detect disk full. In case of `*ByteWritten < ByteToWrite`, it means the disk got full during write operation.

This function is not supported in read-only configuration.

#### References

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

Return