## f_puts

The f_puts function writes a string to the file.

    int f_puts (
      const TCHAR* str, /* [IN] String */
      FIL* fp           /* [IN] File object */
    );

#### Parameters

str
  Pointer to the null terminated string to be written. The terminator character will not be written.
fp
  Pointer to the open file object structure.

#### Return Value

When the string was written successfuly, it returns number of character encoding units written to the file. When the function failed due to disk full or any error, an EOF (-1) will be returned.

#### Description

When FatFs is configured for Unicode API (`FF_LFN_UNICODE >= 1`), character encoding on the string fuctions, `f_putc`, `f_puts`, `f_printf` and `f_gets` function, is also switched to Unicode. The input Unicode characters in multiple encoding unit, such as surrogate pair and multi-byte sequence, should not be divided into two function calls, or the character will be lost. The character encoding on the file to be written via this functions is selected by `FF_STRF_ENCODE` option. If the character encoding on the file differs from that on the API, it is converted in this function. In this case, input characters with wrong encoding or invalid for the output will be lost.

#### QuickInfo

This is a wrapper function of `f_write` function. Available when `FF_FS_READONLY == 0` and `FF_USE_STRFUNC` is 1 or 2. When it is set to 2, `'\n'`s contained in the string are converted to `'\r'+'\n'`.

#### See Also

`f_open, f_putc, f_printf, f_gets, f_close, FIL`

Return