导航:首页 > 文件管理 > c语言循环读取多少行文件

c语言循环读取多少行文件

发布时间:2023-08-20 18:46:05

① 用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语言读取txt文件多行数据

二维数组只能存放相同数据类型.

你这个明显是两个域的, 所以 前面读到一个字符中, 后面读到一个二维数组中比较好.

比如 可以这样

chars1[100];
chars2[100][10];
inti=0;
while(!feof(fp))
{
s1[i]=fgetc(fp);
fscanf(fp,"%s",s2[i]);
fgetc(fp);
i++;
}

③ c语言不换行连续读取数据

在C语言中,如果你想连续读取多个数据而不换行,可以使用标准库函数“scanf”。

例如,如果你想读取三个整数,可以使用如下代码

#include <stdio.h>

int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
printf("a = %d, b = %d, c = %d\n", a, b, c);
return 0;
}
在这个程序中,“scanf”函数会读取三个整宴亩数,并将它们分别赋值给变量“a”、“b”和“c”。

注意,“scanf”函数的格式字符串“%d%d%d”中的御旁“%d”表示读取一个整数,因此“scanf”函数会读取三个整数。

如果你想读取不同类型的数据,可以使用相应的格式字符串。例如,如果你想读取一镇祥橡个整数和一个浮点数,可以使用“%d%f”作为格式字符串。

希望这些信息对你有帮助。

④ c语言问题(想要读取文件的行数)

代码中有两个问题:
(1)while(){}语法问题。
while(条件)/////这后面不能加分号,加分号后将做空循环,循环里不会执行循环体的代码
{
循环体;
}
把while()后面的分号";"去掉就好。
(2)while里面的条件(c=fgetc(fp) !=EOF) 有问题。按照C语言运算符的优先级将按以下顺序执行这个while循环里面的语句:
1) 读取文件: fgetc(fp)
2) 将读取文件的结果与EOF比较: fgetc(fp) !=EOF
3) 将比较的结果赋值给c,就是说c每次得到的不是true(1)就是false(0),根本不是你想要的结果
这个表达式其实是:while (c = (fgetc(fp) != EOF) )
正确的写法是:while ( (c = fgetc(fp)) != EOF)

所以最后的代码修改如下:
#include<stdio.h>
main()
{
FILE *fp;
char name[100],c;
int i;
int count = 0;//计算文件中字符个数,从而判断是否为空文件
i=0;//这边为什么初始化为1?如果输入的是空文件那么应该就是0行

printf("enter filename:");
gets(name);

fp=fopen( name ,"r");
if (fp != NULL)
while ( (c=fgetc(fp)) != EOF )
{
count ++;
if(c == '\n')
i++;
}

if(i == 0 && count > 0) i ++; //如果没有'\n'但是文件非空,那么该文件只有一行

printf("number of numbers:%d\n",i);
}

当然,仅仅判断'\n'并不保险,并不是所有系统下面的换行都有'\n',比如dos系统是"\r\n", linux系统一般用'\n',苹果系统用的是'\r',如果是苹果系统这种做法就失效了。

⑤ C语言检查txt文件有多少行

1 以读的方式打开文件;

2 循环读取文件,遇到 累加;

3 遇到EOF退出,并累加EOF所在行;

4 输出行数。

代码如下:

intmain()
{
intc,l=0;
FILE*fp=fopen("in.txt","r");
while((c=fgetc(fp))!=EOF)if(c==' ')l++;
l++;
printf("%d ",l);
}

⑥ 用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;
}
阅读全文

与c语言循环读取多少行文件相关的资料

热点内容
华兴大数据是什么 浏览:756
javascript浮点运算 浏览:400
用画图工具画一个五角形 浏览:721
手机怎么打pdf文件 浏览:277
学习编程语言是一个什么过程 浏览:692
qq号码文件夹在哪里 浏览:421
怎样更改视频文件扩展名 浏览:170
linux多少个文件系统 浏览:440
一键升级破解补丁exe 浏览:250
苹果6要同意什么才可以下载 浏览:958
东芝m511出现错误代码 浏览:353
诉讼程序中会有哪些文件下发 浏览:51
20kb文件有多少g 浏览:947
appletv卫星测试 浏览:192
javackeditor上传图片 浏览:556
fpgaram读写程序 浏览:938
魅族手机视频文件夹叫什么名字 浏览:473
谜妹下载的视频在哪个文件夹 浏览:930
zukz2微信延迟 浏览:498
文件里如何加入下划线 浏览:1

友情链接