如何用c语言读取文本文件中的多行数据

如输入dat.txt文档中的数据并存入二维数组中
显示如有这样的内容
101 24 23 26 27
102 23 25 26 27
………………
999 24 27 30 41
成百上千这样的数据到底是用数组处理好还是用结构体处理好
在输入的过程中怎样分隔输入每一行的数据
我只会输入第一行数据~~~
我的目标是最好存入数组中,然后在进行后期运算
因为数据太多,不想一个一个地用fprint()函数一个一个的输出,希望从dat.txt读入后按规律存入数组中
如a[0][0]--a[0][4]存第一行数据a[1][0]--a[1][4]存第二行数据,依此类推 希望能给出源码 小弟这方面很菜鸟哦

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。

2、例程:

#include<stdio.h>
#include<string.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);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
for(string str; getline(in,str);)
out<<str<<endl;
这个就可以了,当找不到可以读入的数据时,第二个条件会自动返回假,并结束循环。本回答被提问者和网友采纳
第2个回答  2008-04-19
肯定是结构体啊,
你定义一个这样的结构体有5个整形数据的结构体,这样你写入文件的时候就这样写,读的时候也一次可以读5个。
第3个回答  2008-04-19
用循环存入数组比较简单。

查下api有函数可以一行一行的读写的。
比如getline 先保存到一个字符串数组中。
然后再处理
相似回答