Я попытался разобрать следующий текстовый файл и сохранить значения из каждой строки в 2d массив. Однако теперь я не уверен, как перебрать все значения, хранящиеся в массиве, так как массив не является однородным. Спасибо
2
1 1
1 -1
1 -2 1 1
3 5 6
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int** openfile(char* filename,int* numb, int* l)
{
FILE* fp;
fp=fopen(filename,"r");
char stream[BUFSIZ];
int** lines=malloc(sizeof(int*));
char* integer;
int line_count=0;
while(fgets(stream,sizeof(stream),fp )!=NULL)
{
integer=strtok(stream," ");
int i_count=0;
lines=realloc(lines,(line_count+1)*sizeof(char*));
while(integer!=NULL)
{
lines[line_count]=realloc(lines[line_count], (i_count+1) * sizeof(int) );
lines[line_count][i_count]=atoi(integer);
i_count++;
integer=strtok(NULL," ");
}
line_count++;
*numb=i_count;
*l=line_count;
}
return lines;
}
void pr(int** a,int line,int numb)
{
for(int i=0;i<line;i++){
for(int j=0;j<sizeof(a)/sizeof(a[0]);j++){
printf("%d\n",a[i][j]);
}
}
}
int main(int c, char** v)
{
int line=0;
int numb=0;
int** a=openfile(v[1],&numb,&line);
printf("%d\n",line);
pr(a,line,numb);
}