首页 > 用户发贴区 > 编程问题提问区 > C语言文件的输入问题
2010
03-03

C语言文件的输入问题

这个问题我感觉应该很简单,但是鄙人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


C语言文件的输入问题》有 1 条评论

  1. chameleons 说:

    用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;
    }

留下一个回复