Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Односвязный список, загрузка из файла

Ответить
Настройки темы
C/C++ - Односвязный список, загрузка из файла

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день. Написал функцию загрузки элементов из файла в односвязный список. Работает если использовать ifstream, при использовании fread выдает ошибку на цикле while(list->next) : Unhandled exception at 0x009024f9 in Class_list_one directional_circle (no).exe: 0xC0000005: Access violation reading location 0x000f4804.

Собственно вот функция:

Код: Выделить весь код
void List::Unload() {
	system("cls");
	int count;
	Node* temp1=new Node;

	if (first!=NULL) {
		Node* tmp;
		temp1=first;

		while(temp1) {
			tmp = temp1;
			temp1 = temp1->next;
			free(tmp);
		}
		free(temp1);
		temp1=NULL;
		first=NULL;
	}

	Node* list=new Node;
	list->next=NULL;
	first=list;

	FILE*f;
	f=fopen("list_file.txt","r");
	fread(&count,sizeof(int),1,f);
	fread(&list->key,sizeof(Node),1,f);
	fread(&list->name,sizeof(Node),1,f);
			
	for (int i=0;i<count-1;i++) {
		list=first;
		while (list->next)
			list=list->next;

		Node* temp=new Node; 
		temp->next=NULL;
		list->next=temp;

		fread(&list->key,sizeof(Node),1,f);
		fread(&list->name,sizeof(Node),1,f);

	}
	fclose(f);
	list=first;
}

Отправлено: 15:49, 07-05-2012

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


не понятно, в чём вопрос, и имхо недостаточно данных (описание Node как минимум).

Отправлено: 20:23, 08-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Serj_Pi

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


не правильно используешь fread
Код: Выделить весь код
fread(&list->key,sizeof(Node),1,f);
нужно sizeof(list->key)

Отправлено: 09:14, 15-05-2012 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Односвязный список, загрузка из файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Загрузка файла из интернета посредством команд CMD volk1234 Скриптовые языки администрирования Windows 42 30-03-2014 12:16
.NET - [решено] Загрузка Xml-файла в ComboBox Hector Программирование и базы данных 5 03-02-2012 13:42
Delphi - [решено] Прямая загрузка файла в массив Tweety_yeah Программирование и базы данных 8 05-04-2011 09:31
Загрузка ЦП до 100% при скачивании файла. b_dimonoff Хочу все знать 2 25-01-2011 13:43
Интерфейс - как изменить список ярлыков при открытии файла aarrsseennyy Microsoft Windows Vista 1 22-01-2010 02:12




 
Переход