您的位置:首页 > 编程语言 > C语言/C++

c语言实现在文件中记录20条最新的log记录

2017-11-08 22:40 211 查看
           本程序实现在txt文件记录最新的20条log记录,当txt文件中一开始没有20条记录时,逐条增加log记录,当文件中存在20条记录,此时又有记录需要写入文件时,删除最下方最老的一条记录,将最新的一条记录写入文件最顶部。



int WRITE_LOG(unsigned char *buffer_IP)

{

char arr[MAXLINE][MAXCOLUMN]={0};

int i=-1;

int j;

int k;

pFilePinter = fopen("/log.txt","r");

if (pFilePointer == NULL)

{

printf("open log file error!\n");

return -1

}

while(!feof(pFilePointer))

{

i++;

fgets(arr[i],MAXCOLUMN+1,pFilePointer);

}

fclose(pFilePointer);

pFilePointer = NULL;

fp = fopen("/log.txt","w");

if (fp == NULL)

{

printf("open log file error!\n");

return -1

}

if(i<MAXLINE)

{

for(j=i;j>=0;j--)

strcpy(arr[j+1],arr[j]);

sprintf(arr[0],buffer_IP);//buffer_IP is new log information

i++;

for(k=0;k<i;k++)

fputs(arr[k],fp);

}

else

{

for(j=i;j>1;j--)

strcpy(arr[j-1],arr[j-2]);

sprintf(arr[0],buffer_IP);//buffer_IP is new log information

for(k=0;k<i;k++)

fputs(arr[k],fp);

}

fclose(fp);

fp == NULL;

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: