FatFs检测并建立多层目录并更改文件名

2024-03-03 01:32

本文主要是介绍FatFs检测并建立多层目录并更改文件名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

FatFs检测文件路径是否存在,不存在就建立多层目录,最后更改文件名

if(W_Dresult==FR_OK) 
{														wifi_dp_wav_file_status=0;start_downloading=0;/*************************************遍历创建文件夹*************************************************************/u8 opendir_err = 0;   //错误提示char SonPath[10][50]; //最多10层,每层最多50字符char RootPath[200];   //最低已存在路径memset(SonPath, '\0', sizeof(SonPath)); //初始化memcpy(RootPath, DownFileName, sizeof(DownFileName));u8 num = 0;           // 剔除的次数do                      //遍历寻找文件夹{char *dot = strrchr(RootPath, '\\');   //剔除一层memcpy(SonPath[num], dot, &RootPath[strlen(RootPath)] - dot);  //保存子目录for(int i=0;i<dot-RootPath;i++) RootPath[dot-RootPath+i] = '\0';W_Dresult = f_opendir(&W_Ddir, RootPath); //检测文件夹if(W_Dresult == FR_OK){printf(">> 文件夹存在[%s]\r\n",RootPath);break;}else{printf(">> 文件夹打开错误 - %d [%s]\r\n",W_Dresult, RootPath);if(W_Dresult == FR_NO_PATH){opendir_err = 1;num ++;continue;}}}while(1);if(opendir_err == 1){//遍历创建文件夹opendir_err = 0;for(int i=0;i<num;i++){memcpy(&RootPath[strlen(RootPath)], SonPath[num-i], strlen(SonPath[num-i]));W_Dresult = f_mkdir(RootPath);if(W_Dresult == FR_OK) { printf(">> 创建文件夹成功[%s]\r\n", RootPath); }else printf(">> 创建文件夹失败 - %d [%s]\r\n",W_Dresult, RootPath);}}
/****************************************************************************************/		W_Dresult = f_rename(recfilename,DownFileName);  //更改临时的文件名printf(">> 云端文件名:%s\r\n",DownFileName);if(W_Dresult == FR_OK) printf(">> 更改文件名成功 - %s\r\n",DownFileName);else printf(">> 更改文件名失败 - %d\r\n",W_Dresult);if(W_Dresult == FR_EXIST){printf(">> 文件已存在,删除旧文件\r\n");W_Dresult = f_unlink(DownFileName);  //删除旧文件if(W_Dresult == FR_OK) {W_Dresult = f_rename(recfilename,DownFileName);  //更改临时的文件名if(W_Dresult == FR_OK) printf(">> 再次更改文件名成功 - %s\r\n",DownFileName);else printf(">> 再次更改文件名失败 - %d\r\n",W_Dresult);}else printf(">> 再次更改文件名失败 - %d\r\n",W_Dresult);}return;
}

 

这篇关于FatFs检测并建立多层目录并更改文件名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/768038

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

建立升序链表

题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2744 解决:1186 题目描述: 建立一个升序链表并遍历输出。 输入: 输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。 输出: 可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。 样例输

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

[数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2757 标注数量(xml文件个数):2757 标注数量(txt文件个数):2757 标注类别数:4 标注类别名称:["Platelets","RBC","WBC","sickle cell"] 每个类别标注的框数:

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的