Есть массив структур треугольников, нужно прочесть из файла длину 3-х сторон каждого треугольника. Допустим есть txt файл, в нем записано "1 1 1 2 2 2" грубо говоря функция должна прочесть из файла 2 треугольника, 1 со сторонами 1 1 1 и 2 со сторонами 2 2 2. Перепробовал уже как угодно...
int load (int n, Triangle z[])
{
FILE *f;
char FileName[15];
printf( "Enter the name of file: \n" );
scanf( "%s",FileName );
strcat(FileName,".txt");
if ((f=fopen(FileName, "r")) != NULL)
{
n=0;
z= ( Triangle*)malloc(sizeof( Triangle)); //выделение памяти для одного объекта
fscanf (f,"%lg %lg %lg",&z[0].n,&z[0].m,&z[0].o);
while (!feof(f))
{
n++;
z = realloc(z, (n+1) * sizeof(Triangle));
fscanf (f,"%lg %lg %lg",&z[n].n,&z[n].m,&z[n].o);
}
fclose(f);
printf("Load successful.\n");
}
return n;
}
Вызываю так:
load(n,z);