代码有一小部分看不太懂,求助!!!
long getLogcount(FILE *cfptr) /*获取文件记录总数*/{
long begin,end,logcount;
fseek(cfptr,0L,SEEK_SET);
begin=ftell(cfptr);
fseek(cfptr,size,SEEK_END);
end=ftell(cfptr);
logcount=(end-begin)/size-1;
return logcount;
}
问题:红色部分是什么意思?看不太懂。。。。 size是啥鸟 long getLogcount(FILE*cfptr) /*获取文件记录总数*/
{
long begin,end,logcount;//定义长整型不用解释了
fseek(cfptr,0L,SEEK_SET);//首先将文件的当前位置移到文件的文件头SEEK_SET代表文件头,OL代表偏移量OL的意思文件指针不移动
begin=ftell(cfptr);//然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数。
fseek(cfptr,size,SEEK_END);//同第二句,将文件的当前位置移到文件的文件尾部,并同时向后偏移size个位置,SEEK_END代表文件尾部,size代表偏移量,因为在函数中没有找到size应该定义在外面作为全局变量,size应该代表一条记录的长度。
end=ftell(cfptr);//同第三句的含义,获取文件指针移动的范围,注意这里获取的是指针从文件头到现在文件尾部加size个位置的偏移
logcount=(end-begin)/size-1;//通过这个方式他可以获得记录的条数,因为每条记录的长度是固定的,之所以防止存在文件指针存在错误移位和脏数据,而进行的保障性计算。通过这个获取文件中记录的条数。
return logcount;//获取文件记录总数
} sunrise085 发表于 2020-4-8 22:12
谢谢!还有一个小问题,#include <process.h>这个是什么意思呀?
页:
[1]