我有这个麻烦,
#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);
}
但在此之后,我不知道如何继续