## f_setlabel

The f_setlabel function sets/removes the label of a volume.

    FRESULT f_setlabel (
      const TCHAR* label  /* [IN] Volume label to be set */
    );

#### Parameters

label
  Pointer to the null-terminated string that specifies the volume label to be set. If a null pointer is given, the function fails with `FR_INVALID_DRIVE`.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_INVALID_NAME, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT

#### Description

When the string has a drive prefix, the volume label will be set to the volume specified by the drive prefix. If drive number is not specified, the volume label will be set to the default drive. If length of the given volume label is zero, the volume label on the volume will be removed. The format of the volume label is as shown below:

- Up to 11 bytes long as conversion of OEM code page at FAT volume.
- Up to 11 characters long at exFAT volume.
- Allowable characters for FAT volume are: characters allowed for SFN excludes dot. Low-case characters are up converted.
- Allowable characters for exFAT volume are: characters allowed for LFN includes dot. Low-case characters are preserved.
- Spaces can be embedded anywhere in the volume label. Trailing spaces are truncated off at FAT volume.

Remark: The standard system (Windows) has a problem at the volume label with a heading `\xE5` on the FAT volume. To avoid this problem, this function rejects such volume label as invalid name.

#### QuickInfo

Available when `FF_FS_READONLY == 0` and `FF_USE_LABEL == 1`.

#### Example

        /* Set volume label to the default drive */
        f_setlabel("DATA DISK");

        /* Set volume label to the drive 2 */
        f_setlabel("2:DISK 3 OF 4");

        /* Remove volume label of the drive 2 */
        f_setlabel("2:");

        /* Set volume label in Unix style volume id */
        f_setlabel("/tfcard/LOG DISK");

#### See Also

`f_getlabel`

Return