當前位置:首頁 » 編程語言 » c語言文件行數據

c語言文件行數據

發布時間: 2023-06-11 09:05:21

A. 統計文件行數 c語言

統計行數可以通過統計換行符 來實現。不過需要注意的是,有些文件最後一行並不存在換行符,所以代碼中需要對此作處理。

可以在達到文件結尾後,判斷前一個字元,如果不是換行符,那麼應補加最後一行統計。

代碼如下:

假定輸入文件為in.txt,該文件存在且可讀。

#include<stdio.h>
intmain()
{
FILE*fp=NULL;//文件指針。
intc,lc=0;//c為文件當前字元,lc為上一個字元,供結尾判斷用。
intline=0;//行數統計
fp=fopen("in.txt","r");//以只讀方式打開文件。
while((c=fgetc(fp))!=EOF)//逐個讀入字元直到文件結尾
{
if(c==' ')line++;//統計行數。
lc=c;//保存上一字元。
}
fclose(fp);//關閉文件
if(lc!=' ')line++;//處理末行

printf("文件共有%d行。 ",line);

return0;
}

樣例輸入輸出:

如in.txt有如下內容:

testline1
testline2

則會輸出:

文件共有2行。

B. C語言怎麼讀取txt文件中一行的數據

  1. 打開文件 fopen("需要打開的路徑")

  2. 然後使用fgets函數讀取行

  3. #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #defineMAX_LINE1024
    intmain()
    {
    charbuf[MAX_LINE];/*緩沖區*/
    FILE*fp;/*文件指針*/
    intlen;/*行字元個數*/
    if((fp=fopen("test.txt","r"))==NULL)
    {
    perror("failtoread");
    exit(1);
    }
    while(fgets(buf,MAX_LINE,fp)!=NULL)
    {
    len=strlen(buf);
    buf[len-1]='';/*去掉換行符*/
    printf("%s%d ",buf,len-1);
    }
    return0;
    }

C. c語言如何從文件中讀入一行數據

關鍵技巧:
每行數據個數隨機,可用
c
=
fgetc(fin);
ungetc(c,fin);
檢查是否讀到
換行符或文件結束符。
例如:
a.txt
1
2
3
45
56
6
7
8
9
10
至於記錄每行數據個數,存放到數組,等等,可以自己補充完善。
程序:
#include
<stdio.h>
int
main(
)
{
file
*fin;
int
a,c;
fin=fopen("a.txt","rw");
while(1){
c
=
fgetc(fin);
if
(c==eof)
break;
if
(c=='\n')
{printf("\n==========\n");
continue;};
ungetc(c,fin);
fscanf(fin,"%d",&a);
printf("%d
",a);
}
fclose(fin);
return
0;
}

D. C語言中如何讀取文件里的行數

#include<stdio.h>int main(){ char temp[255]; int i=0; FILE *fp=NULL; if((fp=fopen("file.txt","r"))==NULL) { printf("打開失敗!\n"); return 1; } while(fscanf(fp,"%s",temp)) i++; printf("文件行數為:%d\n",i); return 0;}

E. 用c語言怎麼讀取txt文件中的行數

讀取文件行數, 可以逐個字元讀取文件,到文件尾,統計 的個數

參考代碼如下

#include<stdio.h>
intmain()
{
intc;
FILE*fp;
intlines=0;
fp=fopen("in.txt","rb");
if(fp)
{
while((c=fgetc(fp))!=EOF)
if(c==' ')lines++;
printf("%d ",lines);
fclose(fp);
}
return0;
}

也可以通過fgets函數,每次讀取一行,到文件尾,然後計算讀取的次數

#include<stdio.h>
#include<string.h>
intmain()
{
chars[100];
FILE*fp;
intlines=0;
fp=fopen("in.txt","r");
if(fp)
{
while((fgets(s,100,fp))!=NULL)
if(s[strlen(s)-1]==' ')lines++;
printf("%d ",lines);
fclose(fp);
}
return0;
}

F. C語言如何讀取文本文件中的一行數據啊

用fstream(文件流),fstream
file
然後
file.getline(char*,int,char
a=『\n』)第一個是一個存儲字元串的指針,第二個是要讀取的最大長度,第三個是行結束符,默認是回車,函數說明就是當讀入的字元超過最大長度int或者遇到行結束符(『\n』)時就停止,而且這個很好用的(對於讀入和寫入),你看看文檔就會了,哈哈,給分啊。!!~~

熱點內容
電信50m上傳 發布:2025-02-13 15:47:56 瀏覽:363
清理outlook2010緩存 發布:2025-02-13 15:43:30 瀏覽:54
ohem演算法 發布:2025-02-13 15:40:10 瀏覽:930
java編程課程 發布:2025-02-13 15:36:08 瀏覽:475
cs編譯 發布:2025-02-13 15:36:07 瀏覽:55
高級語言都要編譯解析型語言 發布:2025-02-13 15:06:32 瀏覽:304
openwrt源碼下載 發布:2025-02-13 15:01:59 瀏覽:644
linux刪除一個目錄 發布:2025-02-13 15:00:29 瀏覽:539
螞蟻存儲 發布:2025-02-13 15:00:25 瀏覽:918
腳本師傳奇 發布:2025-02-13 14:45:48 瀏覽:481