/* 统计一个文件有多少行*fgets()函数是一个行缓冲的函数*行缓冲的函数一般有4种情况来刷新缓冲区:*1:缓冲区满了*2:用fllush刷新缓冲区函数*3:流的关闭*4:遇到‘\n’*fgets()达到文件尾或读出错返回NULL。可以用foef()来判断是*出错,还是达到了文件尾。*注意点:fgets(buf,N,fp)*1:如果buf有N个字节,buf满了,则buf中有* N-1个字节,最后个字节是‘\0'。*2:遇见了‘\n’,把‘\n’写出buf中,在‘\n’后面添加一个‘\0'。*/ #include<stdio.h> #include<string.h> #define N 60 int main(int agrc,char *argv[]) { int count = 0; char buf[N]; FILE *fp; if(agrc < 2) { printf("user: %s <filename>",argv[0]); } if((fp = fopen(argv[1],"r"))==NULL) { perror("fail to open"); return -1; } while(fgets(buf,N,fp)!=NULL) { if(buf[strlen(buf) - 1]=='\n') count++; } printf("Total line :%d\n",count); return 0; }
(三)linux下c语言用fgets()函数统计一个文本文件包含多少行
最新推荐文章于 2024-05-25 22:23:54 发布