(三)linux下c語言用fgets()函數統計一個文本文件包含多少行

/* 統計一個文件有多少行
*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; }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章