文件是在外存中保存数据的常用方式,C语言使用ASCII编码来存取文本
写一个程序,求一个任意给定文件的行数 ‘\n’
#include <stdio.h>
void main()
{
FILE *fp; //定义一个文件指针用于对文件进行操作
char ch; //定义一个字符变量用于读出字符的临时存放
int c; //定义一个整型变量用于计数
if((fp=fopen("test.txt","r"))==NULL) //尝试以只读的方式打开test.txt文件,如果失败,就提示错误信息,并且返回
{
printf("cannot open file\n");
return;
}
for(c=0,ch=fgetc(fp);ch != EOF;ch=fgetc(fp)) //遍历文件中的所有字符
{
putchar(ch); //输出到终端,这一步不是必要的,只是用于回显方便检查
if(ch == '\n') c++; //如果遇到'\n'字符,就将计数器加一
}
fclose(fp);
c++; //行数会比换行的个数多一个
printf("\ntotal line is :%d\n",c);
}
思路比较简单和直接,统计行数其实就是要统计换行符的个数,将内容逐字符读出,数出换行符的个数并且打印就可以了
原文地址
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。