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 */ );
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
The f_stat() function checks the existence of a file or sub-directory. If not exist, the function returns with FR_NO_FILE. If exist, the function returns with FR_OK and the informations of the object, file size, timestamp, attribute and SFN, are stored to the file information structure. For details of the file information, refer to the FILINFO structure and f_readdir() function.
When LFN feature is enabled, lfname in the file information structure must be NULLed prior to use it.
Available when _FS_MINIMIZE == 0.
FRESULT fr; FILINFO fno; printf("Test for 'file.txt'...\n"); #if _USE_LFN fno.lfname = 0; #endif fr = f_stat("file.txt", &fno); switch (fr) { case FR_OK: printf("Size: %u\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); }