导航:首页 > 文件管理 > 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语言循环读取多少行文件相关的资料

热点内容
我的cad怎么没显示文件选项卡 浏览:952
命令行当前是哪个数据库 浏览:588
为什么appstore打开空白 浏览:574
选货车软件什么app最好 浏览:577
psv仙境传说ace如何降级版本 浏览:460
杭州哪里学少儿编程比较好 浏览:642
什么网站可以自己翻唱歌曲 浏览:291
javalist作为参数 浏览:176
为什么搜不到steam官方网站 浏览:76
电脑桌面一个文件删除就跳出来了 浏览:466
word双击打不开 浏览:805
json怎么存成excel文件 浏览:864
mac终端配置文件 浏览:495
1999年第一代qq版本 浏览:811
ipad电脑文件共享 浏览:370
平潭哪里有暑假编程课 浏览:610
oppo迅雷下载的文件找不到 浏览:673
xtreemapjs 浏览:166
pdf没有保存文件 浏览:897
app里面怎么表示文字可修改 浏览:297

友情链接