删除文件中指定的部分内容
2006-09-28 10:33
507 查看
#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);
}
#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 删除文件中指定的部分内容
- VC MFC删除指定文件或文件夹内容
- Python实现删除文件中含“指定内容”的行示例
- 【Python/PE】python中实现文件操作的几种功能(删除指定目录下的所有内容,文件复制等)
- linux几种快速清空文件内容的方法 、删除部分内容的方法
- 使用Python删除文本文件中的部分内容
- VC MFC删除指定文件或文件夹内容
- HDFS练习5-----删除指定目录下的所有的空文件和空文件夹(包含子文件夹下的内容)
- Linux下递归遍历指定目录下的文件内容并删除的函数实现
- qt删除指定文件夹下所有内容,包括文件夹、文件
- 利用C++如何覆盖或删除指定位置的文件内容
- 遍历INI文件和删除指定域内容
- 删除指定文件,重新创建并写入指定的内容
- Windows API函数删除指定文件目录下所有内容vc6.0通过
- python删除文件中含"指定内容"的行
- 用命令删除某个文件里的指定内容
- VC MFC删除指定文件或文件夹内容
- 遍历INI文件和删除指定域内容
- python工具 - 读取文件的部分指定内容并输出到外置窗口
- php实现遍历目录并删除指定文件中指定内容