c 删除文件中指定的部分内容 (转)

c 删除文件中指定的部分内容 (转)[@more@]

#include
#include
#include

void search_file(char* dir);
void clear_file(char* FileName,char* Filename1);
 DIR *dp;
  struct dirent *dirp;
  char* file;
  FILE * fp=NULL;
  char n_filename[50];
  char o_filename[50];
 char buf[80];
 int pid;
 int status;
 char* logdir;
  char* logbak;
  char  *optarg;
 
int main(char *argv[]){

 logdir="/usr/local/tmp_file/";
 logbak="/usr/local/tmp_file2/";
 printf("Begin now !n");
 
 search_file(logdir);
 

}

void search_file(char* dir){
 if ((dp = opendir(dir)) == NULL)
  {
   printf("directory %s is not found!n",logdir);
  }
  /* print err */
 
 while ((dirp = readdir(dp)) != NULL){
   optarg = dirp->d_name;
   /*printf ("%s n" , optarg);*/
   
   if ((strstr(optarg,".htm")!=NULL) |
   (strstr(optarg,".vbs")!=NULL) |
   (strstr(optarg,".ASP")!=NULL) ) {

 n_filename[0]=';
 o_filename[0]=';
 strcat(o_filename,logdir);
 strcat(o_filename,"/");
 strcat(o_filename,optarg);
   strcat(n_filename,logbak);
   strcat(n_filename,optarg);
   printf("%s n", o_filename);
   clear_file(o_filename,n_filename);
 /* status = rename(o_filename,n_filename); */
   printf("%s %s rename file status : %dn", o_filename, n_filename, status );
   }   
  } /* for every log file  */
  closedir(dp);
 
  sleep(20); 
}

void clear_file(char* FileName,char* FileName1){

 int i;
 FILE *myFile=NULL,*fw=NULL;
 char* line;
 int count=0;
 myFile = fopen(FileName,"r");  /* open file */
 fw  = fopen(FileName1,"w");
 if(myFile == NULL)
 {
 printf("No config file myFile,Please config your system first!n");
 exit(1);
 }
 while( fgets(line,1024,myFile)!=NULL ) { 
 /* printf("line is : %s" , line); */
 if ( strstr(line,"<vbscript")!=NULL){
 count=1;
 }else if ( strstr(line," count=0;
 }else if (count==0){
 fputs(line,fw);
 }
 }
 /* read file by line */ 
 fclose(myFile);
}


 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-989374/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-989374/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值