Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2012, 16:25   #1
biohazard120
Пользователь
 
Регистрация: 14.09.2012
Сообщений: 12
По умолчанию Построчное чтение переменных из файла

Здравствуйте, уважаемые форумчане. В кратце суть моей проблемы:
Имеем некоторый файл database.txt со следующим содержимым:
Код:
0|ололо|0.000000|0.000000
0|ололо1|0.000000|0.000000
0|ололо2|0.000000|0.000000
0|ололо3|0.000000|0.000000
0|ололо4|0.000000|0.000000
0|ололо5|0.000000|0.000000
0|ололо6|0.000000|0.000000
0|ололо7|0.000000|0.000000
0|ололо8|0.000000|0.000000
0|ололо9|0.000000|0.000000
Задача: считать переменные между разделителем "|" в структурированный массив, а , значит строка - это индекс элемента массива.
Вот моя реализация, но проблема в том, что появляется ошибка типа EAccessViolation

Текст функции:

Код:
void LoadFromFile(void)
{
	ifstream f("database.txt");
	int i=0;
	while(!f.eof()) if(f.get()=='\n') i++;
	listsize=i;
	list = new BusList[listsize];
	f.close();
	FILE *fr;
	fr = fopen ("database.txt", "rt");
	for (i = 0; i < listsize; i++) {
		char string[50+sizeof(int)+2*sizeof(double)];
		fscanf(fr,"%d|%s|%f|%f\n",list[i].number,list[i].arrpoint,list[i].sendtime,list[i].arrtime);
	}
	fclose(fr);
}
Помогите разобраться пожалуйста, заранее спасибо.

P.S. Чуть не забыл. Язык: C++

Последний раз редактировалось biohazard120; 04.12.2012 в 16:27.
biohazard120 вне форума Ответить с цитированием
Старый 04.12.2012, 16:57   #2
biohazard120
Пользователь
 
Регистрация: 14.09.2012
Сообщений: 12
По умолчанию

Ап! Ребят, неужели никто не поможет
biohazard120 вне форума Ответить с цитированием
Старый 04.12.2012, 18:42   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Не
Код:
fscanf(fr,"%d|%s|%f|%f\n",list[i].number,list[i].arrpoint,list[i].sendtime,list[i].arrtime);
а
Код:
fscanf(fr,"%d|%s|%f|%f\n",&list[i].number,list[i].arrpoint,&list[i].sendtime,&list[i].arrtime);
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Php. Построчное чтение из файла в массив Leshiy80 PHP 9 30.10.2014 12:45
Построчное чтение текстовых файлов с http cервера Sёker Работа с сетью в Delphi 6 20.10.2012 18:30
чтение переменных из файла Игорь Кулакевич Помощь студентам 11 26.09.2011 19:03
PL/SQL, построчное чтение txt файла seriousMalish SQL, базы данных 0 09.06.2010 21:31
Построчное чтение из файла Mihalich1988 Общие вопросы C/C++ 5 17.12.2008 02:10