请问怎样正确截短日志文件?
来源: 互联网 发布时间:2016-01-30
本文导语: 我在linux下写了段记录日志的代码,想再加个方法,保留一定行数,去掉历史数据. 但后来发现判断行数可能会复杂,所以就变通一下用文件大小作判断. 我有两个问题: 1.这个方法执行以后没有按照我要保留的文件长度来工...
我在linux下写了段记录日志的代码,想再加个方法,保留一定行数,去掉历史数据.
但后来发现判断行数可能会复杂,所以就变通一下用文件大小作判断.
我有两个问题:
1.这个方法执行以后没有按照我要保留的文件长度来工作,我不知道用fseek定位,再fgets文件后面的字串的方法有没有问题.
2.有没有简单快速的方法实现按行数去掉历史数据的?
谢谢!
代码如下:
//检查日志文件行数,如果超过规定的最大长度则截取最新的日志行数,去掉旧的行.
void ShrunkFile(char *FileName,long Size)
{
FILE *pFile;
long file_size=0,lPos=0;
char *Buffer;
int letter;
if (Size
但后来发现判断行数可能会复杂,所以就变通一下用文件大小作判断.
我有两个问题:
1.这个方法执行以后没有按照我要保留的文件长度来工作,我不知道用fseek定位,再fgets文件后面的字串的方法有没有问题.
2.有没有简单快速的方法实现按行数去掉历史数据的?
谢谢!
代码如下:
//检查日志文件行数,如果超过规定的最大长度则截取最新的日志行数,去掉旧的行.
void ShrunkFile(char *FileName,long Size)
{
FILE *pFile;
long file_size=0,lPos=0;
char *Buffer;
int letter;
if (Size