免费资源网-

借助c语言删掉目录下文件

近来这段时间工作内容是关于Linux下的简单文件操作,原先对于Linux下的文件操作函数都不是太熟悉linux,经过此次实践linux find -name 遍历目录,对这种函数使用有了一定的了解

c语言删除电脑中文件_linux下c语言编程软件_linux find -name 遍历目录

怎样创建文件,读写文件linux find -name 遍历目录,这种简单的我想你们应当是比较熟悉的,我所介绍的是怎样遍历某个目录,但是删掉该目录下的文件(可以指定后缀名)linux大全,但是也可以指定

文件的更改时间范围(多少小时曾经的旧文件可以删掉),下边就是简单的函数实现,仅供初学者参考(虽然我也是初学者(^o^)/~)

#include 
#include  
#include  
#include 
#include 
#include 
#include 
 
#define FILE_MAX_LEN 256
 
void rmv_old_files(const char *path, const char *suf, int hours)
{	
	char filename[FILE_MAX_LEN] = {0};
	struct tm *TM;
	struct dirent *dirp;
	struct stat statbuf;
	DIR *dp = NULL;
	time_t curr_time;
	int nameLen, offset;
	char *chTemp = NULL;
	
	curr_time = time((time_t*)NULL);
	dp = opendir(path);
	if (NULL == dp)
	{
		return;
	}	
	while((dirp=readdir(dp)) != NULL)
	{
		if (strcmp(dirp->d_name, ".")==0 || strcmp(dirp->d_name, "..")==0)
		{
			continue;
		}
		nameLen = strlen(dirp->d_name);
		chTemp = dirp->d_name;
		if (*suf != '')
		{
			offset = nameLen-strlen(suf);
			if (offsetd_name);
		if (!stat(filename, &statbuf))
		{
			/*check the st_mtime of the file, if more than retention_hours ago then delete it*/
			if (curr_time-statbuf.st_mtime >= hours*3600 && S_ISREG(statbuf.st_mode))
			{
				unlink(filename);
			}
		}			
	}
	closedir(dp);
}

附:linux删掉指定目录下的文件

rm -f 指定目录*

#最精典的方式,删掉指定目录下的所有类型的文件

c语言删除电脑中文件_linux下c语言编程软件_linux find -name 遍历目录

2.find 指定目录 -type f -delete或find 指定目录 -type f -exec rm -f {} ;

#用find查找指定目录下的所有普通文件并删掉or用find命令的处理动作将其删掉

3.find 指定目录 -type f | xargs rm -f

c语言删除电脑中文件_linux find -name 遍历目录_linux下c语言编程软件

#用于参数列表过长;要删掉的文件太多

4.rm-f `find 指定目录 -type f`

#删掉指定目录下的全部普通文件

5.for delete in `ls –l 指定目录路径`;do rm -f * ;done

#用for循环句子删掉指定目录下的所有类型的文件

免费资源网-

本文原创地址://gulass.cn/mfzywlycyysc.html编辑:刘遄,审核员:暂无