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