论坛元老
 
- 积分
- 10653
- 金钱
- 10653
- 注册时间
- 2017-4-14
- 在线时间
- 2780 小时
|
发表于 2022-11-1 14:26:05
|
显示全部楼层
本帖最后由 nashui_sx 于 2022-11-1 14:27 编辑
- //文件名自增(避免覆盖)
- //组合成:形如"0:PICTURE/00000.txt"的文件名
- //u32 index;//给个起始序号,防止每次都从0查询太慢
- //new_path_and_name(File_return,(u8 *)"0:haha/","my",&index,(u8 *)".txt"); //想要生成根目录 0:haha/my****.txt 文件夹
- u8 new_path_and_name(u8 *pname,u8 *lujing,u8 *wenjiantou,u32 *index,u8* leixing)
- {
- u8 res;
- u8 lujing_ok[50];
-
- sprintf((char*)lujing_ok,"%s",lujing);
- if(lujing_ok[strlen((const char*)lujing_ok)-1]=='/')
- lujing_ok[strlen((const char*)lujing_ok)-1]=0;
-
- res=f_mkdir((const TCHAR*)lujing_ok);//路径不存在就创建
-
- if(res!=FR_OK)
- {
- if(res!=FR_EXIST)
- return res;
- }
-
- while((*index)<0xffff)
- {
- sprintf((char*)pname,"%s/%s%05d%s",lujing_ok,wenjiantou,(*index),leixing);
- res=f_open(&file,(const TCHAR*)pname,FA_READ);//尝试打开这个文件
- if(res==FR_NO_FILE)//该文件名不存在=正是我们需要的
- {
- res=f_open(&file,(const TCHAR*)pname,FA_OPEN_EXISTING|FA_READ|FA_WRITE|FA_OPEN_ALWAYS);//尝试创建这个文件
- if (res==0)
- {
- f_close(&file);
- }
- (*index)++;//指向下一个
- return res;//该文件不存在=正是我们需要的.
- }
- (*index)++;
- }
- *pname=0;
- return FR_NO_FILE;
- }
复制代码
写变量移植R0.14b及以后的fatfs版本 带直接用f_printf print怎么用f_printf怎么用
之前的版本用sprintf+f_write 记得R0.14b之前的版本也有f_printf 好像是不支持float还是啥 记不清了
|
|