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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2013, 21:48   #1
Sheffdmb2010
 
Регистрация: 18.10.2011
Сообщений: 9
По умолчанию Чтение из файла полей объекта разного формата

Вот накидал функцию чтения
Код:

int Chtenie(char *path){
		int s_name,s_parname,s_surname,s_info,
			day,mount,age,number,position;
		int pos=0;
		student stud;
		char *name="",*surname="",*parname="",*info="";
		
		
		
		FILE *file;
		if(_access(path,0)==-1){pos=1;cout<<"Fail Not Found\n";/*std::fclose(file);*/return pos;};
	    fopen_s(&file,path,"rb");
		/*if (!file)*/
		while (!feof(file)){//пока не конец файла
		fread(&day,sizeof(int),1,file);
		stud.set_day(day);
		fread(&mount,sizeof(int),1,file);
		stud.set_mount(mount);
    	fread(&age,sizeof(int),1,file);
		stud.set_age(age);
		fread(&number,sizeof(int),1,file);
		stud.set_number(number);
		fread(&s_name,sizeof(int),1,file);
		fread(&s_surname,sizeof(int),1,file);
		fread(&s_parname,sizeof(int),1,file);
		fread(&s_info,sizeof(int),1,file);
		fread(&position,sizeof(int),1,file);
		stud.set_position(position);
		

		
		
		int size=s_name+s_surname+s_parname+s_info;
		
		fgets(name,size,file);//Вот тут вылетает
				
		stud.set_name((const char*)name);
		fgets(surname,s_surname+1,file);
		stud.set_surname((const char*)surname);
		fgets(parname,s_parname+1,file);
		stud.set_parname((const char*)parname);
		fgets(info,s_info+1,file);
		stud.set_info((const char*)info);
		
		pos++;
		stud.get_student();};

		//student stud(ss_name,ss_surname,ss_parname,ss_info,day,mount,age,number,pos);}
		fclose(file);
		return pos;

		
	};
Вылетает когда доходит до fgets(name,s_name,file);
Файл записывал следующим образом:
писал в Int формате дату, номер зачетки, позицию,и отдельно размер в символах каждого поля, а потом каждое поле стринг.
Пишу и читаю в одной очередности. Что не так подскажите
Sheffdmb2010 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Иконка от музыкального файла формата .mp3 саша40 Мультимедиа в Delphi 3 23.09.2012 17:02
webbrowser чтение документа .HTML формата SKS Компоненты Delphi 7 03.02.2011 11:00
Преобразовать путь файла из старого формата T-dayne Помощь студентам 7 04.07.2010 14:38
проблема с изменением формата даты при копировании из CSV формата в эксель mars56 Microsoft Office Excel 4 16.03.2010 09:50