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文件中一行的數據
打開文件 fopen("需要打開的路徑")
然後使用fgets函數讀取行
#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]='