佚名通过本文主要向大家介绍了fatfs创建文件夹,fatfs删除文件夹,fatfs文件系统详解,fatfs 文件大小,fatfs文件系统等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Fatfs文件系统创建新文件夹及在该路径下创建文件
描述:
编译环境:Keil
问题描述:用到了Fatfs文件系统。通过获取时钟的时间,想每天都创建一个新的文件夹,文件夹名字就是当天的日期(格式:年-月-日)。装置功能中有检测部分,遇到特殊的情况,在当天的文件夹下创建一个.txt文件,该文件的名字是当时时间(格式:时-分-秒.txt)。因为Fatfs利用f_mkdir,f_open分别创建文件夹和文件时,均需要const char*类型的参数;而时间取出来,我已由BCD转为int。
1、怎么将时间转为char类型的。
2、因为f_open是要求绝对路径的,所以需要写明路径,如何处理。(未开启相对路径,因为开启后,有些文件系统操作功能无法用)
举例:比如今天是2016-8-2,时间是6-25-30,如果想创建文件夹,就要写f_mkdir("2016-8-2");
要创建文件,就得f_open(&ftxt,"/2016-8-2/6-25-30",FA_CREATE_ALWAYS);
但是日期和时间一直都在变化,我想保存到数组里mytime_Date和mytime_Time里,最后就能直接f_mkdir(mytime_Date);f_open(&ftxt,/mytime_Date/mytime_Time,FA_CREATE_ALWAYS)。
请有经验的朋友指导下。
函数原型:FRESULT f_open (
FIL *fp, /* Pointer to the blank file object */
const char *path, /* Pointer to the file name 需要绝对路径*/
BYTE mode /* Access mode and file open mode flags */
)
FRESULT f_mkdir (
const char *path /* Pointer to the directory path */
)
解决方案1:
描述:
Fatfs文件系统STM32下应用创建文件
硬件:STM32F103,时钟芯片编译环境:Keil
问题描述:用到了Fatfs文件系统。通过获取时钟的时间,想每天都创建一个新的文件夹,文件夹名字就是当天的日期(格式:年-月-日)。装置功能中有检测部分,遇到特殊的情况,在当天的文件夹下创建一个.txt文件,该文件的名字是当时时间(格式:时-分-秒.txt)。因为Fatfs利用f_mkdir,f_open分别创建文件夹和文件时,均需要const char*类型的参数;而时间取出来,我已由BCD转为int。
1、怎么将时间转为char类型的。
2、因为f_open是要求绝对路径的,所以需要写明路径,如何处理。(未开启相对路径,因为开启后,有些文件系统操作功能无法用)
举例:比如今天是2016-8-2,时间是6-25-30,如果想创建文件夹,就要写f_mkdir("2016-8-2");
要创建文件,就得f_open(&ftxt,"/2016-8-2/6-25-30",FA_CREATE_ALWAYS);
但是日期和时间一直都在变化,我想保存到数组里mytime_Date和mytime_Time里,最后就能直接f_mkdir(mytime_Date);f_open(&ftxt,/mytime_Date/mytime_Time,FA_CREATE_ALWAYS)。
请有经验的朋友指导下。
函数原型:FRESULT f_open (
FIL *fp, /* Pointer to the blank file object */
const char *path, /* Pointer to the file name 需要绝对路径*/
BYTE mode /* Access mode and file open mode flags */
)
FRESULT f_mkdir (
const char *path /* Pointer to the directory path */
)
解决方案1:
sprintf (dir_path, "/%d-%d-%d", year, month, day);
sprintf (file_path, "/%d-%d-%d/%d-%d-%d", year, month, day, hour, minute, second);