int ReadLineNum(char pathname[])
{
FILE *fp;
int flag = 0, file_row = 0, count = 0;
if((fp = fopen(pathname, "r")) == NULL)
return -1;
while(!feof(fp))
{
flag = fgetc(fp);
if(flag == '\n')
count++;
}
file_row = count + 1; //加上最后一行
fclose(fp);
return file_row;
}
注释:
1)feof是C语言标准库函数,其原型在stdio.h中,其功能是检测流上的文件结束符,如果文件结束,则返回非0值,否则返回0(即,文件结束:返回非0值,文件未结束,返回0值),文件结束符只能被clearerr()清除。(这里的检测流上的文件结束符就相当于声卡检测电流信号的一个过程)
2)fgetc是一种计算机C语言中的函数。意为从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。格式:int fgetc(FILE *stream);。