介绍
这篇文章将为大家详细讲解有关利用c语言怎么在删除Linux系统中某个目录下的文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
利用c语言删除目录下文件
# include & lt; stdio.h> # include & lt; fcntl.h>, # include & lt; time.h>, # include & lt; string.h> # include & lt; dirent.h> # include & lt; sys/stat.h> # include & lt; unistd.h> , # define FILE_MAX_LEN 256年 , void rmv_old_files (const char *路径,const char 进而,,int 小时) { char 文件名(FILE_MAX_LEN),=, {0}; struct tm * TM; struct dirent * dirp; struct stat  statbuf; DIR * dp =,空; time_t curr_time; int nameLen,抵消; char * chTemp =,空;=curr_time 拖延时间((time_t *)空); dp =, opendir(路径); if (NULL ==, dp) { 返回; } 而((dirp=readdir (dp)), !=, NULL) { if (strcmp (dirp→d_name,,“干净)==0,| |,比较字符串(dirp→d_name,,“…“)==0) { 继续; } 时间=nameLen strlen (dirp→d_name); 时间=chTemp dirp→d_name; if (* suf !=, & # 39; \ 0 & # 39;) { 时间=offset nameLen-strlen(进而); if (offset<0, | |, strncmp (chTemp +偏移,进而也,strlen(进而))!=0) { 继续; } } sprintf(文件名,“% s % s",,,, dirp→d_name); if (! stat(文件名,,,statbuf)) {/* check 从而st_mtime of ,文件,,if more than retention_hours ago then delete 它*/if (curr_time-statbuf.st_mtime 祝辞=,小时* 3600,,,,S_ISREG (statbuf.st_mode)) { 分离(文件名); } } } closedir (dp); }
附:linux删除指定目录下的文件命令
rm -f 指定目录*
#最经典的方法,删除指定目录下的所有类型的文件
2. find 指定目录,-type f 删除或find 指定目录,-type f -exec rm -f {}, \;
#用找到命令查找指定目录下的所有普通文件并删除或用发现命令的处理动作将其删除
3. find 指定目录,-type f |, xargs rm - f
#用于参数列表过长,要删除的文件太多
4. rm-f “find 指定目录,-type f '
#删除指定目录下的全部普通文件
5. for delete 拷贝的ls -l 指定目录路径”;do rm -f *,做
#用的循环语句删除指定目录下的所有类型的文件
关于利用c语言怎么在删除linux系统中某个目录下的文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。