这个问题我感觉应该很简单,但是鄙人C语言没学好,麻烦会的朋友帮帮忙。
我想将一个文件里的数据输入到一个数组里,请问应该怎么编写程序?
数组设定为二维数组a[4][8],要将文件里的数据分别赋予数组,比如说文件里的第一组数据是:2003001 10 11 12 13 26 28 11 ,要将2003001赋予a[0][0],10赋予a[0][1],11赋予a[0][2],12赋予a[0][3],13赋予a[0][4],26赋予a[0][5],28赋予a[0][6],11赋予a[0][7]。如此下去,直至将文件里的所有数据输入相应的数组里去。
文件里的数据格式是:
2003001 10 11 12 13 26 28 11
2003002 04 09 19 20 21 26 12
2003003 01 07 10 23 28 32 16
2003004 04 06 07 10 13 25 03
文件地址及名称为:C:\\TURBOC2\\SSQ\\G\\gx.dat
-
近期文章
近期评论
- coolker 发表在《打造最快的Hash表》
- struggle 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- diys 发表在《C语言编程宝典(王大刚) 1.1 C 语言的产生与发展》
文章归档
- 2022 年十月
- 2014 年一月
- 2013 年十二月
- 2012 年十一月
- 2012 年七月
- 2012 年六月
- 2012 年五月
- 2012 年四月
- 2012 年三月
- 2012 年二月
- 2011 年十二月
- 2011 年十月
- 2011 年九月
- 2011 年八月
- 2011 年七月
- 2011 年六月
- 2011 年五月
- 2011 年四月
- 2011 年三月
- 2011 年二月
- 2011 年一月
- 2010 年十二月
- 2010 年十一月
- 2010 年十月
- 2010 年九月
- 2010 年八月
- 2010 年七月
- 2010 年六月
- 2010 年五月
- 2010 年四月
- 2010 年三月
- 2010 年二月
- 2010 年一月
- 2009 年十二月
- 2009 年十一月
- 2009 年十月
- 2009 年九月
- 2009 年八月
- 2009 年七月
- 2009 年六月
- 2009 年五月
- 2009 年四月
- 2009 年三月
- 2009 年二月
- 2009 年一月
- 2008 年十二月
- 2008 年十一月
- 2008 年十月
- 2008 年九月
- 2008 年八月
- 2008 年七月
- 2008 年六月
- 2008 年五月
- 2008 年四月
- 2008 年三月
- 2008 年二月
- 2008 年一月
- 2007 年十二月
- 2007 年十一月
- 2007 年十月
- 2007 年九月
- 2007 年八月
- 2007 年七月
- 2007 年六月
- 2007 年三月
- 2007 年二月
- 2007 年一月
- 2006 年十二月
- 2006 年十一月
- 2006 年十月
- 2006 年九月
- 2006 年八月
- 2006 年七月
- 2006 年六月
- 2006 年五月
- 2006 年四月
- 2006 年三月
- 2006 年二月
- 2006 年一月
- 2005 年十二月
- 2005 年十一月
分类目录
功能
用fopen打开文件。这个函数返回一个文件指针。
然后用fscanf读取文件。fscanf和scanf用法一样,不过是多一个文件指针参数。
这个文件指针参数就用刚刚fopen返回的就可以了。如果这个参数你用stdin,那fscanf和scanf效果就是完全一样的。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
int a[4][8];
int i, j;
if((fp=fopen(“C:\\TURBOC2\\SSQ\\G\\gx.dat”, “r”)) == 0) {
printf(“Cannot open file.\n”);
exit(1);
}
for(i=0; i<4; i++){
for(j=0; j<8; j++){
fscanf(fp, “%d”, &a[j]);
}
}
return 0;
}