镜缘浮影 小人本住在 苏州的城外 家里有屋又有田 生活乐无边

那些年我们一起忘掉的C (二十).文件内容统计

2016-11-25
wilmosfang
c
原文地址 http://soft.dog/2016/11/25/c-basic-20/

前言

文件是在外存中保存数据的常用方式,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);
}

思路

思路比较简单和直接,统计行数其实就是要统计换行符的个数,将内容逐字符读出,数出换行符的个数并且打印就可以了

基础知识点

  • 读取文件的方法
原文地址 http://soft.dog/2016/11/25/c-basic-20/

评论