fgets实现行号的统计

来源:互联网 发布:美发预约软件 编辑:程序博客网 时间:2024/05/21 03:56
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<sys/types.h>int main(int argc, char *argv[]){    if (2 > argc)    {        fprintf(stderr, "usage: %s filename\n",argv[0]);        return -1;    }    FILE *fd = fopen (argv[1], "r");    if (NULL == fd)    {        perror("fopen");        return -1;    }    char buf[100] = {0};    int line = 0;    while(1)    {        if (NULL == fgets(buf, sizeof(buf), fd))        {            printf("read file end or error\n");            break;        }        if ((buf[strlen(buf)-1] == '\n'))        {            line++;        }     }    printf("line = %d\n",line);    fclose(fd);    }