АМ
Аида Мамасадыкова

Чтение структуры из файла C++

Односвязный список, указатель след.
struct Telefstans
{
char Nomer[30];
char Familia[20];
char Adress[20];
char Nal_block[20];
char Zadoljenost[20];
struct Telefstans *next;
} ;

struct Telefstans *NahSpis=NULL;

....
....
....

Если сохранял так

void saveall()
{
FILE *file;
struct Telefstans *tek,*r;
file=fopen("1.bin","wb");
tek=NahSpis;
while(tek!=0)
{
fwrite(tek,sizeof(Telefstans),1,file);
tek=tek->next;
}
fcloseall();
puts("rezervniy file sozdan");
getch();
}

Вопрос:
То как прочитать теперь это? )

Эта функция читает не правильно) как не крутил, как не менял, не пойму что не так
void loadall()
{
FILE *file;
file=fopen("1.bin","rb");
struct Telefstans *tek;
tek=new Telefstans;
while(fread(tek,sizeof(Telefstans),1,file)!=0)
{
if (NahSpis!=NULL)
{ NahSpis=NahSpis->next; NahSpis=tek; }
else NahSpis=tek;
tek=new Telefstans;
}
delete tek;
fclose(file);
}

К примеру сохранял структуру
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4

В итоге читает 4 4 4 4 4.

Отладчиком прокручивал, читать читает, записывать записывает, но похоже что каким то образом оно должно было сменить строку в списке, т. е. оно читало 1 1 1 1 1, записало, потом на это же место 2 2 2 2 2, и так до 5 5 5 5 5. Только вот я никак не пойму почему)

Kuzj
Kuzj

не пробывал раздельно данные из структуры записывать\читать!? ? это тебе не ассемблер, где к структуре можно относится как к массиву байт\слов\двойных слов!

ЕП
Елена Пушкина

попробуйте считать в цикле for!
естественно уже без while

Похожие вопросы
[C++] Чтение и запись unicode из .txt файла
Вопрос по структурам в C++
c# ошибка при чтении структуры из файла
Чтение из файла в ComboBox
C++ Есть ли "инструменты" что бы редактировать структуру PE файлов?
чтение из файла в структуру с++
C, как считать из файла в структуру текст и числа по отдельности
Побайтовое чтение структуры WMA
c# обращение к элементу структуры в Листе структур
C++ классы и структуры