/*
文件名: 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
Ansys疲劳仿真:工程结构寿命评估的实战方法论
做了这么多年仿真,有个感受越来越深——静力学算得再漂亮,疲劳寿命预测不对,项目照样过不了评审。不是因为理论有多复杂,而是因为疲劳损伤的物理机制本身就带有统计属性,材料内部的微观缺陷分布、应力集中位置、载荷谱的随机性,每一项都能让结果偏移20%甚至更多。本文从实战出发,梳理Ansys疲劳仿真的核心流程,重点讲清楚载荷类型选择、S-N曲线处理、应力集中修正这几个最容易出问题的环节。疲劳仿真做好了,最大的收获不是跑出一个漂亮的Damage云图,而是对结构的真实薄弱环节建立起量化的认知。
windows下c语言删除文件夹
可以使用remove函数来删除文件夹,但是需要先递归删除文件夹内的所有文件和子文件夹。这个程序可以递归删除指定路径下的所有文件和子文件夹,最后删除指定路径的文件夹。
qt下使用grpc编程(2) —— 练手!自己改的一个简单小例子!1
(1)在研究了grpc官方提供的helloworld例程后,自己试着写了个小程序。 (2)编写proto文件。 proto文件用于定义服务和消息,用protobuf的语法编写,protobuf是一种通信协议,详细请百度。下面附上源码: syntax = "proto3"; option java_multiple_files = true; option java_pac
支付宝支付(三):周期扣款实现注意细节
一、周期扣款实现说明 1、官方文档入口:https://opendocs.alipay.com/open/20190319114403226822/intro 2、根据官方文档说明,周期扣款有两种方式:先签约后代扣场景和支付后签约场景 3、周期扣款接入问题文档: a>https://opendocs.alipay.com/support/01rg24 b>https://opensupport.alipay.com/support/knowledge/50249/20160248753
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 //...
RDMA学习笔记-IB五层网络协议和报文结构
Reference InfiniBand Architecture Specification Volume 1, Release 1.3 文章目录IBA 网络协议分层1.链路层1.1 LRH1.2 ICRC1.3 VCRC2.网络层(GRH)3.传输层3.1 BTH3.2 extended transport header4. 报文结构4.1 send request4.2 RDMA Write request4.3 RDMA Read request4.4 ACK4.5 Atomic operatio
C/C++删除目录文件夹下所有文件(递归)
C/C++递归删除目录文件夹下所有文件 rmdir remove
非root用户如何在CentOS7集群上编译安装OpenFOAM6
本文详细介绍了在CentOS7集群上以非root用户身份编译安装OpenFOAM6的完整流程。通过环境准备、依赖包离线获取、源码编译安装等步骤,解决了集群环境下权限和依赖问题,特别针对OpenMPI和Boost库提供了优化配置建议,帮助用户高效完成安装并优化性能。
【AI编程】Trae 环境搭建与配置从使用到项目实战详解
Trae 环境搭建与配置从使用到项目实战详解
java 非空删除文件夹,自个儿用代码实现非空目录的删除(java及C语言)
自己用代码实现非空目录的删除(java及C语言)今天没什么事,就随便写了写代码,用代码实现删除非空目录。在java或c语言中,是没有直接的函数能够调用而且实现非空目录的删除。以下是我的代码实现 ,经过测试!Java代码import java.io.File ;import java.io.IOException ;public class DeleteDir{public static void ...
8、使用 TPCx - HCI 基准测试表征 HCI 集群的性能和弹性
本文详细介绍了 TPCx - HCI 基准测试,用于衡量超融合基础设施(HCI)集群的性能、稳定性和扩展性。TPCx - HCI 扩展了 TPCx - V 的理念,通过 Tile 架构和弹性特性,全面评估硬件、虚拟化、存储和网络组件的表现。文章还通过多个实验场景分析了负载均衡、数据布局和重新同步策略对性能的影响,并提出了部署和优化 HCI 集群的建议。
删除非空文件夹
/* 文件名: rd.c ---------------------------------------------------- c中提供的对文件夹操作的函数,只能对空文件夹进行 删除,这使很多初学者在编码过程中产生许多困扰,我也 很不爽这件事情,所以编写这个对非空文件夹进行删除的 函数,仅供参考。 注意:本函数编写以VC6为依据,其中关于文件夹的操作函数 ...
详解AUTOSAR:专栏总述
本专栏系统介绍AUTOSAR规范及车用控制器软件开发,内容覆盖基础架构、SWC/RTE、通信栈、诊断、存储、安全、看门狗、工具链、环境配置与项目实战,并持续更新各模块的集成机制与工程要点。
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
Linux 使用C语言删除一个非空的目录
Linux 使用C语言删除一个非空的目录原理以及代码示例
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
linux下删除非空目录命令
例如删除当前目录下的非空目录 demo ,命令 rmdir demo 无法删除非空的目录. 应该使用命令 rm -rf 目录名 即如下命令: rm -rf demo 其中参数-f 表示force .使用了这个参数就不会提示你是否要删除了. rmdir只能删除空目录...
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
删除 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



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



