ОБСУЖДЕНИЕ

Массив Структур Из Файла

5 ответов 10,7 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Всех с прошедшим Новым Годом!!!!
Как считать массив структур из файла(в каждую структуру входит 3 компонента: Имя, Возраст, Номер группы)?
 
сначала надо описать такую структуру
потом использовать функцию fwrite для записи в файл и fread для чтения
http://www.cplusplus.com/reference/clibrary/cstdio/fwrite/
что конкретно не получается?

С наступившим.
 
блин я помню как это когда то давно делал в универе. в методе ведь всё есть! конкретнее вопрос если что то не получается.
 
Можете скинуть пример??? А то я не могу понять как из файла считать всё в массив структур.
 
воспользуемся всё-таки советом r04
Вот объявление структуры:

C++:
struct information 
{
char name[15];
int age,group;
}q[20];//массив из 20 структур

читаем из файла: (вся информация через пробел !! Петя 18 4)

C++:
FILE*in;
int k(0),e(0);
in=fopen("Input.txt","rt");
for(int i=0;i<20;i++)
{	
fgets(s,30,in);
while(s[e]!=' ')
{	
q[i].name[e]=s[e];
e++;
}
e++;
k=(s[e]-48)*10;
e++;
k=k+(s[e]-48);
e+=2;
q[i].age=k;
q[i].group=s[e]-48;
}
 
Whatka
Код:
for(int i=0;i<20;i++)
лучше использовать feof(), т.к. чаще всего не известно сколько записей в файле
Скорее всего, файл двоичный(ведь там структуры определенного типа), тогда надо(и много проще) использовать fwrite, чем fgets.
Но я примеров приводить не буду, т.к. усердия в ТС не вижу.