/*
文件名: rd.c
----------------------------------------------------
c中提供的对文件夹操作的函数,只能对空文件夹进行
删除,这使很多初学者在编码过程中产生许多困扰,我也
很不爽这件事情,所以编写这个对非空文件夹进行删除的
函数,仅供参考。
注意:本函数编写以VC6为依据,其中关于文件夹的操作函数
与标准c有所区别。如VC6中的findclose可能需要用c
中的closedir()来代替。
----------------------------------------------------
日期 程序员 变更记录
2010.4.28 海总(掌门人号) 创建文件,编写函数
----------------------------------------------------
*/
#include <stdio.h>
#include <io.h>
#include <string.h>
#include <direct.h>
/*
函数入口:文件夹的绝对路径
const char* dirPath
函数功能:删除该文件夹,包括其中所有的文件和文件夹
返回值: 0 删除
-1 路径不对,或其它情况,没有执行删除操作
*/
int removeDir(const char* dirPath)
{
struct _finddata_t fb; //查找相同属性文件的存储结构体
char path[250];
long handle;
int resultone;
int noFile; //对系统隐藏文件的处理标记
noFile = 0;
handle = 0;
//制作路径
strcpy(path,dirPath);
strcat (path,"/*");
handle = _findfirst(path,&fb);
//找到第一个匹配的文件
if (handle != 0)
{
//当可以继续找到匹配的文件,继续执行
while (0 == _findnext(handle,&fb))
{
//windows下,常有个系统文件,名为“..”,对它不做处理
noFile = strcmp(fb.name,"..");
if (0 != noFile)
{
//制作完整路径
memset(path,0,sizeof(path));
strcpy(path,dirPath);
strcat(path,"/");
strcat (path,fb.name);
//属性值为16,则说明是文件夹,迭代
if (fb.attrib == 16)
{
removeDir(path);
}
//非文件夹的文件,直接删除。对文件属性值的情况没做详细调查,可能还有其他情况。
else
{
remove(path);
}
}
}
//关闭文件夹,只有关闭了才能删除。找这个函数找了很久,标准c中用的是closedir
//经验介绍:一般产生Handle的函数执行后,都要进行关闭的动作。
_findclose(handle);
}
//移除文件夹
resultone = rmdir(dirPath);
return resultone;
}
相关推荐
C语言实现文件夹的创建和删除
本文将介绍如何使用C语言编写程序来创建和删除文件夹,并提供相应的源代码和描述。函数用于创建文件夹,它的第一个参数是文件夹的名称,第二个参数是权限模式。运行上述程序后,如果文件夹创建成功,将会打印出"文件夹创建成功!运行上述程序后,如果文件夹删除成功,将会打印出"文件夹删除成功!否则,将会打印出"文件夹删除失败。如果要删除非空文件夹,需要借助其他方法,例如递归地删除文件夹内的所有文件和子文件夹。要创建一个文件夹,我们需要使用C语言中的系统调用函数。函数用于删除文件夹,它的参数是要删除的文件夹名称。
c语言删除非空文件夹
rmdir rmdir() 删除空的文件夹 unlink unlink(); man page 的解释: unlink() deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open, the file is deleted and the space it was using is made available for r
支付逻辑漏洞的八大姿势(上篇)
学习支付漏洞,看这篇文章!!!文章来源:SecHub网络安全社区(本资料仅供学习参考,严禁使用者进行未授权渗透测试!严禁任何形式的转载!
windows下c语言删除文件夹
可以使用remove函数来删除文件夹,但是需要先递归删除文件夹内的所有文件和子文件夹。这个程序可以递归删除指定路径下的所有文件和子文件夹,最后删除指定路径的文件夹。
【Python实战解析】从数据爬取到房价预测:一个完整的数据科学项目流程拆解
本文详细拆解了一个完整的Python数据科学项目流程,从爬取长沙二手房数据到房价预测模型构建。通过实战案例,介绍了数据爬取、清洗、可视化及模型优化的关键技巧,帮助开发者掌握Python在数据分析中的应用,提升程序开发能力。
ROS 2 Slam Toolbox实战:从零跑通2D激光建图
SLAM(同步定位与地图构建)是移动机器人实现自主导航的基础技术,其核心在于通过传感器数据实时估计位姿并构建环境栅格地图。slam_toolbox作为ROS 2 Humble及后续LTS版本官方主推的2D SLAM后端,采用图优化+闭环检测架构,兼顾实时性、鲁棒性与工程可维护性。相比cartographer和hector_slam,它原生支持ROS 2、参数精简、诊断友好,特别适合硬件资源有限、缺乏IMU或深度相机的差速机器人平台。本文聚焦真实部署场景,覆盖RPLIDAR等常见2D激光雷达与TurtleBo
c语言如何创建和删除文件夹总结
需要io.h和dirct.h 关于相对路径的使用 使用.或者.\\来表示当前路径。这个可以省略 使用..\\来表示来到上一级路径 (一) io.h用来判断文件夹是否存在, int access(const char* _Filename, int _AccessMode) finame 为文件夹地址 Accsemode用来指定判断的访问权限 在库中有宏定义 #define R_OK 4 //只判断是否有读权限 #define W_OK 2 //只判断是否有写权限 #define X_OK 1 //...
攻防世界 Crypto 新手练习区 1-12 全详解
本篇是攻防世界 Crypto 新手练习区的全解
C/C++删除目录文件夹下所有文件(递归)
C/C++递归删除目录文件夹下所有文件 rmdir remove
避坑指南:STM32定时器测PWM频率占空比时,那些CubeMX没告诉你的细节(蓝桥杯真题衍生)
本文深入解析STM32定时器测量PWM频率和占空比时的关键细节,揭示CubeMX配置中未明确的时钟树原理和输入捕获机制。针对蓝桥杯嵌入式赛题中的常见问题,提供动态调整预分频器、多采样数字滤波等实战解决方案,帮助开发者避免测量误差,提升PWM测量精度和稳定性。
Vivado IP核与约束文件管理指南:解决OOC警告、COE文件丢失与Block Design复用
本文详细介绍了Vivado IP核与约束文件管理的系统化方法,包括解决OOC警告、COE文件丢失与Block Design复用等常见问题。通过IP核锁定机制、分层约束架构和动态约束技术,提升FPGA工程的健壮性和团队协作效率,特别适合中大型项目开发。
java 非空删除文件夹,自个儿用代码实现非空目录的删除(java及C语言)
自己用代码实现非空目录的删除(java及C语言)今天没什么事,就随便写了写代码,用代码实现删除非空目录。在java或c语言中,是没有直接的函数能够调用而且实现非空目录的删除。以下是我的代码实现 ,经过测试!Java代码import java.io.File ;import java.io.IOException ;public class DeleteDir{public static void ...
Python爬虫实战:如何抓取POI信息(公共场所)位置信息
获取公共场所的信息:如餐厅、商店、医院、景点等。抓取POI的基本信息:如名称、类别、地址、评分等。获取POI的地理坐标:经度和纬度信息。存储POI数据:将抓取到的POI信息存储到本地数据库中。通过本篇文章,我们详细介绍了如何使用Python爬虫抓取POI信息。通过Google Maps API和OpenStreetMap(Overpass API),我们展示了如何获取餐厅、商店、医院等公共场所的位置信息,并进一步探讨了如何处理分页、存储数据以及反爬虫策略。
删除非空文件夹
/* 文件名: rd.c ---------------------------------------------------- c中提供的对文件夹操作的函数,只能对空文件夹进行 删除,这使很多初学者在编码过程中产生许多困扰,我也 很不爽这件事情,所以编写这个对非空文件夹进行删除的 函数,仅供参考。 注意:本函数编写以VC6为依据,其中关于文件夹的操作函数 ...
「UG/NX」BlockUI 控件集合目录大纲
Block UI Styler 模块设计对话框是官方推荐使用的对话框制作方法,它能够与NX自身风格相统一,在实际开发中经常使用。文字内容包含:NX所有控件介绍的链接、内部控件调用的基础介绍、官方案例查看路径、控件的特殊用法篇链接、番外篇链接。
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
Linux 使用C语言删除一个非空的目录
Linux 使用C语言删除一个非空的目录原理以及代码示例
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
linux下删除非空目录命令
例如删除当前目录下的非空目录 demo ,命令 rmdir demo 无法删除非空的目录. 应该使用命令 rm -rf 目录名 即如下命令: rm -rf demo 其中参数-f 表示force .使用了这个参数就不会提示你是否要删除了. rmdir只能删除空目录...
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
删除 C 盘空文件夹--递归删除
PowerShell.exe -File "文件(夹):删除空文件夹.ps1" "C:\"# 检查目录属性,排除具有系统、只读和重分析点属性的目录。# 删除所有子文件(夹)后,可判断父目录为空,进而再删除父目录。# 检查目录是否为空(排除 desktop.ini)REM 检查是否包含 desktop.ini 文件。REM 如果目录为空且不包含特定属性或文件,则删除。# 获取所有目录,把子目录排列在父目录前面。REM 检查目录是否为空。REM 检查目录属性。REM 遍历所有目录。
java删除非空文件夹
java删除文件夹。
电脑如何删除空文件夹?Windows批量删除空白文件夹解决方法
电脑如何删除空文件夹?通过新建文本借助代码工具、使用Windows优化工具、借助批量删除工具、手动删除、改名删除空文件夹和查找文件夹大小等6种方法帮助我们更快批量删除电脑空白文件夹,达到优化电脑磁盘空间,提高运行速度,降低查找文件时间的目的。
如何删除/删除Python不为空的文件夹?
当我尝试删除非空文件夹时,我收到“访问被拒绝”错误。 我在尝试中使用了以下命令: os.remove("/folder_name") 。 删除/删除非空文件夹/目录的最有效方法是什么?
python 删除非空文件夹_如何使用python移除/删除非空文件夹?
移除/删除非空文件夹/目录的最有效方法是什么?1.标准库参考:shutil.rmtree。根据设计,rmtree在包含只读文件的文件夹树上失败。如果要删除文件夹,不管它是否包含只读文件,请使用import shutilshutil.rmtree('/folder_name', ignore_errors=True)2.从os.walk()上的python文档中:# Delete everythin...
MFC 中 删除一个非空文件夹 (MFC 文件操作 一)
最近在看MFC 的文件操作,从网上淘了一本比较讲MFC文件操作比较全的电子书,然后开始试手。在删除文件夹时,遇到了问题,通过查看MSDN和网友的论坛留言,自己总算是解决了这个问题,现在与大家共享。 MFC中提供了删除文件夹的一个封装函数 RemoveDirectory(LPCTSTR lpPathName),我们只要把要删除的文件夹的路径传进去就可以删除了...
1349



被折叠的 条评论
为什么被折叠?



