fatfs获取文件大小
时间: 2023-02-23 16:00:09 浏览: 330
FatFS 是一个开源的文件系统,如果要获取 FatFS 文件的大小,可以使用以下代码:
```
#include "ff.h"
FILINFO fno;
FRESULT res = f_stat("test.txt", &fno);
if (res == FR_OK) {
printf("The size of the file 'test.txt' is %u bytes.\n", fno.fsize);
} else {
printf("Failed to get the file information.\n");
}
```
其中,`f_stat` 函数用于获取文件的信息,第一个参数是文件名,第二个参数是文件信息结构体指针。如果获取成功,可以通过结构体成员 `fsize` 获取文件的大小,以字节为单位。
相关问题
stm32 fatfs 查看文件属性
可以使用 FatFs 提供的 f_stat 函数来获取文件属性。使用方法如下:
```c
FILINFO fileInfo;
FRESULT res;
res = f_stat("filename.txt", &fileInfo);
if (res == FR_OK) {
printf("File size: %lu bytes\n", fileInfo.fsize);
printf("Last modified: %04d/%02d/%02d %02d:%02d:%02d\n",
(fileInfo.fdate >> 9) + 1980, (fileInfo.fdate >> 5) & 0x0F,
fileInfo.fdate & 0x1F, (fileInfo.ftime >> 11),
(fileInfo.ftime >> 5) & 0x3F, (fileInfo.ftime & 0x1F) << 1);
} else {
printf("Failed to get file info. Error code: %d\n", res);
}
```
其中,fileInfo 是 FILINFO 类型的结构体,用于存储文件信息。f_stat 函数的第一个参数是要查询的文件名,第二个参数是指向 FILINFO 结构体的指针。如果查询成功,f_stat 函数会返回 FR_OK,否则返回错误码。在查询成功后,可以通过访问 fileInfo 结构体的成员来获取文件属性,如文件大小和最后修改时间等。
FATFS 写入文件末尾,怎么操作
在使用FATFS写入文件时,可以使用f_lseek函数将文件指针移动到文件的末尾,然后使用f_write函数写入数据。具体操作步骤如下:
1. 使用f_open函数打开要写入的文件,打开方式为追加模式,即"f_open(&file, filepath, FA_OPEN_ALWAYS | FA_WRITE | FA_OPEN_APPEND)"。
2. 使用f_lseek函数将文件指针移动到文件的末尾,即"f_lseek(&file, f_size(&file))"。
3. 使用f_write函数将数据写入文件,即"f_write(&file, data, size, &bytes_written)",其中data为要写入的数据,size为数据长度,bytes_written为实际写入的数据长度。
4. 使用f_close函数关闭文件,即"f_close(&file)"。
注意:在使用f_open函数打开文件时,需要使用FA_OPEN_ALWAYS标志以确保文件存在,使用FA_OPEN_APPEND标志以确保数据追加到文件末尾。另外,使用f_size函数获取文件大小,以便将文件指针移动到文件末尾。