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

c語言統計文件的行數

發布時間: 2023-10-12 07:56:30

① 用c語言讀出文件行數

#include<stdio.h>

inthangshu(charfile[])//輸入工程目錄下的文件名,或者其他目錄下絕對路徑名例如:c:\1.txt;

{

charc;

inth=0;

FILE*fp;

fp=fopen(file,"r");

if(fp==NULL)

return-1;//表示文件打開錯誤

while((c=fgetc(fp))!=EOF)

{

if(c==' ')

h++;

else

{

c=fgetc(fp);//這是處理最後一行可能沒有換行標志,但是確文件結束。

if(c==EOF)

{

h++;

break;

}

}

}

returnh;

}

intmain()

{

inths=hangshu("c:\1.txt");//這里說明你要打開的文件。這個是c盤根目錄下文件

inthst=hangshu("1.txt");//工程目錄下的文件。

printf("行數:%d ",hs);

printf("行數:%d ",hs);

}

如上是用c編寫的,不是c++.

運行的時候可以把中文注釋去掉。

完全可以運行的,我已經測試過了。

② 編寫一個程序,統計一個文本文件的行數(C語言)

#include<stdio.h>
main()
{FILE *fp,*fp1;
int cap=0, i=1;
char mid,filename[10];
printf("Input the filename like *.txt!\n");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
if((fp1=fopen("stdout.txt","w+"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
while(!feof(fp))
{
mid=fgetc(fp);
if(mid=='\n') cap++;
}
fclose(fp);
if((fp=fopen(filename,"r"))==NULL)
{printf("Can not open the file!\n");
exit (0);
}
fprintf(fp1,"%d ",i++);
while(!feof(fp))
{
if(fputc(fgetc(fp),fp1)=='\n')
fprintf(fp1,"%d ",i++);
}
printf("cap=%d \n",cap+1);
fclose(fp);
fclose(fp1);
}
//相信你可以自己新建一個文本文件來實驗這個程序了爛殲,當然
//stdout.txt是程序自己建立的猛游,我運行的沒有什麼問題!
//如果有興趣的話,可以加枝歷銷我qq,彼此交流經驗,共同進步
//qq:237263394

③ 用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;
}

④ 請編寫程序統計一個.cpp文件的行數(C語言)

#include"stdio.h"
#include"string.h"
int main()
{ int i,j,n=0;
char s[200];
FILE*fp;
fp=fopen("0.cpp","r");
while(!feof(fp))
{fgets(s,200,fp);
// printf("%s",s);
for(i=0;s[i]==' ';i++);
if(s[i]=='/'&&s[i+1]==' ')continue;
if(s[i]=='('&&s[i+1]==')')continue;
if(strlen(s)==1)continue;
n++;
}
printf("%d\n",n);
fclose(fp);
return 0;
}

熱點內容
iisftp被動模式 發布:2025-02-01 04:41:50 瀏覽:350
車載安卓怎麼安裝軟體 發布:2025-02-01 04:30:50 瀏覽:469
安卓系統su程序是什麼 發布:2025-02-01 04:25:42 瀏覽:475
android代碼行數統計 發布:2025-02-01 04:20:47 瀏覽:216
快速喊話腳本 發布:2025-02-01 04:16:48 瀏覽:885
如何分辨普拉多的配置 發布:2025-02-01 04:11:45 瀏覽:681
linuxc文件刪除 發布:2025-02-01 04:11:33 瀏覽:218
c語言稀疏矩陣轉置矩陣 發布:2025-02-01 03:47:57 瀏覽:531
坦克世界掛機腳本有哪些 發布:2025-02-01 03:07:41 瀏覽:134
串口編程at 發布:2025-02-01 03:06:05 瀏覽:909