×

c读取文件所有行

c读取文件所有行(c语言读取文件行)

admin admin 发表于2023-04-06 05:10:06 浏览68 评论0

抢沙发发表评论

本文目录一览:

用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操作,就是当前行

}