#include<stdio.h>
//获取文本文件行数
int get_line_num(char *infile)
{
FILE *fp = NULL; //文件指针
int c, lc = 0; //c为文件当前字符,lc为上一个字符,供结尾判断 。
int lines = 0; //行数统计
fp = fopen(infile, "rb"); //以二进制只读方式打开文件
if(fp == NULL)
{
printf("open file fail!!\n")
return 1;
}
while((c = fgetc(fp)) != EOF) //逐个读入字符直到文件结尾
{
if(c == '\n')
{
lines++; //统计行数
}
lc = c; //保存上一个字符
}
fclose(fp);
if(lc != '\n')
{
lines++; //处理末行
}
return lines;
}
//转换读取的每行文件
fgets(line_tmp1, 500, pfile1) //按行读取pfile1的数据,存放在line_tmp1缓存中,每次读取499,最后一个字节填'\0'
value_tmp1 = strtoul(line_tmp1, &next_value_ptr1, 16); //strtoul函数将读取的字符串按照base来解析,此处按16进制来处理;输出为10进制