您的位置:首页 > 运维架构 > Linux

(三)linux下c语言用fgets()函数统计一个文本文件包含多少行

2017-08-01 13:40 357 查看
/* 统计一个文件有多少行*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
;
    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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐