用内存分配读取c中的数字矩阵

时间:2015-05-15 16:58:44

标签: c

我有这个麻烦,

#include<stdio.h>
#include<stdlib.h>


int main()
{
  int i;
  int j;




double** mat=malloc(3*sizeof(double*));
for(i=0;i<3;++i)
mat[i]=malloc(3*sizeof(double));




  FILE *file;
  file=fopen("pollino.txt", "r");


 for(i = 0; i < 3; i++)
  {
      for(j = 0; j < 3; j++)
      {

       if (!fscanf(file, "%d", &mat[i][j]))
           break;
      // mat[i][j] -= '0';
       printf("%d\n",mat[i][j]); 
      }


  }
  fclose(file);
}

这段代码很有用,但现在我想再做一步,就是我想用内存分配来做这件事,因为我不能总是事先知道行数。 因此,行数的代码是:

int countlines(char *file)
{
FILE *fl;
char ch;
int count=0;
while((fscanf(fl,"%c",&ch))>0)
    if(ch=='\n')
    count ++;
return count;
fclose(fl);
}

但在此之后,我不知道如何继续

0 个答案:

没有答案