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

原创 2001年06月06日 18:02:00

#include <stdio.h>
#include <dirent.h>
#include <string.h>

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]='/0';
    o_filename[0]='/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 : %d/n", 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,"</vbscript")!=NULL){
     count=0;
   }else if (count==0){
    fputs(line,fw);
   }
 }
 /* read file by line */ 
 fclose(myFile);
}


 

c语言实现删除文件的指定行(内容)

c语言实现删除文件的指定行(内容) 原文件是index.txt,删除后的文件保存在result.txt文件中(也就是把不删除的文件保存到result.txt中) 本程序实现从输入内容所在行开始,直至特...
  • scaujava
  • scaujava
  • 2017年05月13日 14:29
  • 3648

删除文件中指定的部分内容

#include <stdio.h>#include <dirent.h>#include <string.h>void search_file(char* dir...
  • Jason009
  • Jason009
  • 2006年09月28日 10:33
  • 893

C文件操作之--删除某文件中指定行

#include #include /** 删除指定文件filepath中第n行内容 **/ void Delete(char* filepath, int n) { char buf[128...
  • themagickeyjianan
  • themagickeyjianan
  • 2013年12月19日 19:52
  • 2894

linux c删除文件中指定内容行或指定行

1、增加个临时文件;把源文件内容逐个字节或者逐行读取出来,然后修改或者丢弃,放到临时文件中,当把源文件中所有内容过滤后,再把临时文件全部覆盖回源文件; 2、读取到内存中修改;把整个文件读取到内存中,然...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2017年04月16日 00:16
  • 2230

C语言删除指定文件

C语言的文件操作想必大家都多多少少的有所了解,今天为大家献上删除文件的操作方法。这里我们要用到的是remove(const T& x);x使用代表文件路径及文件名的字符常量来确定需要删除的对象。下面是...
  • renhanlinbsl
  • renhanlinbsl
  • 2016年08月15日 11:58
  • 3066

C语言如何删除文件中的指定行--更新txt等形式文件

基于我的上一篇文章, 链接如下: 如何实现结构体和文件之间的转化  有时候我们需要删除文件的某一行,来更新文件,在这我个人扩展了一个函数,以删除指定条件的行。 代码如下: st...
  • tonkeytong
  • tonkeytong
  • 2016年05月17日 17:00
  • 3503

C++覆盖或删除指定位置的文件内容

我们经常使用ofstream或者fstream可写文件,使用ifstream可以写文件,但需要设置文件的打开状态为ios::out。C++中IO流打开模式使用位掩码来表示。IO流打开模式有: 成员...
  • K346K346
  • K346K346
  • 2017年03月16日 16:52
  • 4582

linux几种快速清空文件内容的方法 、删除部分内容的方法

清空文件内容的方法: 1. $ : > filename #其中的 : 是一个占位符, 不产生任何输出. 2.  $ > filename 3.  $ echo “” > filenam...
  • xuejingfu1
  • xuejingfu1
  • 2016年08月25日 13:29
  • 3346

MFC 删除文件夹或文件

1、 2、 3、 4、
  • wwkaven
  • wwkaven
  • 2014年11月05日 18:01
  • 1707

C读写文件--删除指定的一行

#include #include void InsertLine(char* FileName, int Line, char str[256]);void deleteLine(char* Fil...
  • wp_gis
  • wp_gis
  • 2010年04月10日 23:28
  • 5547
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c 删除文件中指定的部分内容
举报原因:
原因补充:

(最多只允许输入30个字)