本文目录一览:
用c语言怎么读取txt文件中的行数
读取文件行数, 可以逐个字符读取文件,到文件尾,统计\n的个数
参考代码如下
#include stdio.h
int main()
{
int c;
FILE *fp;
int lines=0;
fp=fopen("in.txt", "rb");
if(fp)
{
while((c=fgetc(fp)) != EOF)
if(c=='\n') lines++;
printf("%d\n",lines);
fclose(fp);
}
return 0;
}
也可以通过fgets函数,每次读取一行,到文件尾,然后计算读取的次数
#include stdio.h
#include string.h
int main()
{
char s[100];
FILE *fp;
int lines=0;
fp=fopen("in.txt", "r");
if(fp)
{
while((fgets(s,100,fp)) != NULL)
if(s[strlen(s)-1]=='\n') lines++;
printf("%d\n",lines);
fclose(fp);
}
return 0;
}
如何用c语言读取文本文件中的多行数据
1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。
2、例程:
#includestdio.h
#includestring.h
void main()
{
char a[100],b[100],c[100];
int i=3,j=4,k=0; //第三行,第四列
FILE *fp = fopen("data.txt","r");
while(fgets(c,100,fp)){ //读入每行数据
i--;
if(i==0) strcpy(a,c); //读到第三行数据
b[k++]=c[j-1]; //把每行的那列字符拷到b中
}
b[k]=0;
printf("第%d行数据:%s\n",i,a);
printf("第%d列数据:%s\n",j,b);
fclose(fp);
}
C语言中如何读取文件里的行数?
正常情况不用重新打开。。
请问是如何读取文本的行数的??
rewind(fp);
可以将指针回到起始位置。。
------------------------------
infile不用换名字啊,但是你那个写了有点问题,
ifstream
infile(file,ios::binary);其实不能叫打开文件
打开文件是
infile.open(*****);
---------
假设就是要你那样写,那就换个名字,
这样写
ifstream
infile(file,ios::binary);
*******
infile.close();
ifstream
infile2(file,ios::binary);
//重新打开
-----------------------------
还有一个问题,为何一定要知道行数呢??
就算要知道行数,你是如何读取文件统计\n的?
难道用的是fgetc,判断当前字符??
--------------
明显效率太低了。。
完全可以读取一行啊
使用getline
例如
ifstream
infile(file,ios::binary);
string
str;
while(getline(infile,str))
{
//对str操作,就是当前行
}