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語言讀出文件行數
#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. c語言中如何獲取一個二維數組的行列數
有兩種方式:
1 二維數組的行列數在定義的時候就是確定好的,所以編程人員是知道二維數組的大小以及行列數的。 所以可以直接使用行列數的值。
為方便維護,可以將行列數定義為宏,直接調用對應的宏名作為行列值。
2 動態獲取。
對於type array[A][B];形式的二維數組,可以通過計算sizeof獲取行列數。
sizeof(array[0][0])為一個元素佔用的空間,
sizeof(array[0])為一行元素佔用的空間,
sizeof(array)為整個數組佔用的空間,
於是:
行數 = sizeof(array)/sizeof(array[0]);
列數 = sizeof(array[0])/sizeof(array[0][0]);
D. C語言編寫程序統計輸入的行數
循環讀入字元,遇到 累計行數,最終輸出累計值即可。
以EOF作為終止條件的代碼如下:
#include<stdio.h>
intmain()
{
intcnt=1;//最少會輸出一行,每遇到一個換行,表示多輸入了一行。
intc;
while((c=getchar())!=EOF)
{
if(c==' ')cnt++;//統計行數。
}
printf("%d ",cnt);
return0;
}
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語言中怎樣得到一個文本文件的行數
循環獲取每個字元
統計\n的字數
注意的是,如果最後一個換行之後,到EOF前,還有字元,那麼需要多加一行。
G. c語言中如何顯示行數
是看自己的代碼有多少行?
還是要編程來計算一段文字有多少行?
還是其他。。。
前者的話一般編譯器都有顯示滑鼠當前所在行和列的數目,只要把滑鼠放到代碼最後就可以了。
後者的話可以計算換行符的個數。
H. 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;}
I. 如何在 C程序中顯示行數
不用選擇語言---行號,直接工具--選項--文本編輯器,拖到最後有個「所有語言」,然後在右面選上「行號」就行了
J. c語言輸入一段話如何輸出行數字數詞數
演算法很簡單,行數用 計數;字數應該是指字元數,就是字元串的長度;單詞數用空格符,跳格符,換行符來分隔計算。
C語言統計控制台輸入的行數,單詞數與字元數:
#include<stdio.h>
#defineIN1//在單詞內
#defineOUT0//在單詞外
/**
*統計輸入的行數,單詞數與字元數
*/
intmain(){
//c:每次讀的支付,nl:行數,nw:單詞數,nc:字元數,state:標示狀態
intc,nl,nw,nc,state;
state=OUT;
nl=nw=nc=0;
while((c=getchar())!=EOF){
++nc;
if(c==' '){
++nl;
}
if(c==''||c==' '||c==' '){
state=OUT;
}elseif(state==OUT){
state=IN;
++nw;
}
}
printf("%d%d%d",nl,nw,nc);
return0;
}