利用c语言怎么在删除Linux系统中某个目录下的文件

  介绍

这篇文章将为大家详细讲解有关利用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系统中某个目录下的文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

利用c语言怎么在删除Linux系统中某个目录下的文件