## f_stat

The f_stat function checks the existence of a file or sub-directory.

    FRESULT f_stat (
      const TCHAR* path,  /* [IN] Object name */
      FILINFO* fno        /* [OUT] FILINFO structure */
    );

#### Parameters

path
  Pointer to the null-terminated string that specifies the object to get its information. The object must not be the root direcotry.
fno
  Pointer to the blank `FILINFO` structure to store the information of the object. Set null pointer if this information is not needed.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_NOT_ENOUGH_CORE

#### Description

The `f_stat` function checks the existence of a file or sub-directory in the directory. If not exist, the function returns with `FR_NO_FILE`. If exist, the function returns with `FR_OK` and the informations about the object, size, timestamp and attribute, is stored to the file information structure. For details of the file information, refer to the `FILINFO` structure and `f_readdir` function.

#### QuickInfo

Available when `FF_FS_MINIMIZE == 0`.

#### Example

        FRESULT fr;
        FILINFO fno;

        printf("Test for 'file.txt'...\n");

        fr = f_stat("file.txt", &fno);
        switch (fr) {

        case FR_OK:
            printf("Size: %lu\n", fno.fsize);
            printf("Timestamp: %u/%02u/%02u, %02u:%02u\n",
                   (fno.fdate >> 9) + 1980, fno.fdate >> 5 & 15, fno.fdate & 31,
                   fno.ftime >> 11, fno.ftime >> 5 & 63);
            printf("Attributes: %c%c%c%c%c\n",
                   (fno.fattrib & AM_DIR) ? 'D' : '-',
                   (fno.fattrib & AM_RDO) ? 'R' : '-',
                   (fno.fattrib & AM_HID) ? 'H' : '-',
                   (fno.fattrib & AM_SYS) ? 'S' : '-',
                   (fno.fattrib & AM_ARC) ? 'A' : '-');
            break;

        case FR_NO_FILE:
            printf("It is not exist.\n");
            break;

        default:
            printf("An error occured. (%d)\n", fr);
        }

#### References

`f_opendir, f_readdir, FILINFO`

Return