Adrikk
@Adrikk
Студент

Как правильно выполнить чтение из файла в динамический массив?

Есть массив структур треугольников, нужно прочесть из файла длину 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);
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Onito
ты ограничен только сишечкой? если нет то вот решение для тебя

www.cplusplus.com/reference/cstring/strtok

сплить просто по пробелам и с помощью каунтера записывай в правильное поле структуры
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы