|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.01.2013, 20:20 | #1 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 40
|
c++ получение информации из файла
Читаю информацию из файла следующей функцией:
Код:
dsfb.jpg Функция вывода: Код:
Код:
Последний раз редактировалось NinjaNoob; 27.01.2013 в 21:12. |
27.01.2013, 20:33 | #2 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Очень смущает вот это
fread(&Current->inf,sizeof(Element),1,datafile); &Current->inf Это адрес структуры Student. Длина записи sizeof(Element) превышает длину структуры Student. Тем самым затираются поля NEXT, PREV которым до этого были присвоены значения Current->NEXT=NULL; Current->PREV=Tail; |
27.01.2013, 21:14 | #3 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 40
|
Вместо sizeof(Element) написал sizeof(Student) - ничего не изменилось. Или я вас не правильно понял
|
27.01.2013, 21:35 | #4 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
Едем дальше. Нужно проверять возвращаемое значение fread. Если оно меньше, чем количество запрашиваемых из файла структур (в вашем случае меньше единицы), то чтение Current некорректно. Значит этот элемент не следует добавлять в список. |
|
27.01.2013, 21:52 | #5 |
С++, Delphi
Форумчанин
Регистрация: 24.11.2012
Сообщений: 495
|
Поступите просто.... последняя запись обычно всегда при fread неверна... точнеее её не существует. делайте count - 1.
Если помог, тут весы есть , Вам не сложно, а мне приятно.
|
27.01.2013, 22:05 | #6 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 40
|
EUGY, я не совсем понял как проверить условие. Делал вот так:
Код:
То есть посчитать количество записей, отнять от этого количества единицу. И в цикле for читать нужное количество записей? Я попытался вот так, но выкидывает на цикле while. Код:
|
27.01.2013, 22:09 | #7 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Цитата:
|
|
27.01.2013, 22:13 | #8 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 40
|
EUGY, запись в файл
Код:
|
27.01.2013, 22:14 | #9 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Код:
Последний раз редактировалось EUGY; 27.01.2013 в 22:19. |
27.01.2013, 23:52 | #10 |
Пользователь
Регистрация: 02.10.2012
Сообщений: 40
|
Если кому интересно, решилось вот так:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получение информации из памяти | 9esa | Помощь студентам | 3 | 26.03.2012 02:12 |
Получение информации о принтере | mutabor | Общие вопросы Delphi | 4 | 17.05.2011 16:37 |
Получение информации о железе | FalseMaster | Win Api | 2 | 25.11.2009 06:05 |
Получение информации из мр3 | GAGARIN-NEW | Мультимедиа в Delphi | 2 | 24.03.2008 15:19 |
Получение информации о классе | Sibedir | Общие вопросы Delphi | 7 | 07.12.2007 14:37 |