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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.06.2010, 10:19   #1
ThisIzGame
Форумчанин
 
Регистрация: 31.08.2009
Сообщений: 161
По умолчанию Классы и файлы

здравствуйте, появилась небольшая проблемка. написал небольшую программку, в классе содержится информация о студентах (имя,возвраст и т.д.) пользователь вводит эту информацию, программа записывает это в файл. Затем считывает всех добавленных студентов из этого же файла и выводит на экран.
программу написал, результат работы правильный но непонятная ошибка вылетает постоянно, подскажите что это?
вот код:
Код:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;


class students
{
	string name;
	int age;
	void Disk_write();   // запись в файл
public:
	void getdata();
	void showdata();	
	void Disk_read();      // чтение из файла
};

void students::getdata()
{
	cout<<"Введите имя студента: ";
	cin>>name;
	cout<<"Введите возвраст студента: ";
	cin>>age;
	Disk_write();
}

void students::showdata()
{
	cout<<name<<endl;
	cout<<age<<endl;
}
	

void students::Disk_write()
{
	ofstream file;
	file.open("students.txt", ios::binary | ios::app);
	file.write((char*)this, sizeof(*this));
}


void students::Disk_read()
{
	ifstream file;
	students temp;
	file.open("students.txt", ios::binary);
	file.seekg(0);
	file.read(reinterpret_cast<char*>(&temp), sizeof(temp));
	while(!file.eof())
	{
		temp.showdata();
		file.read(reinterpret_cast<char*>(&temp), sizeof(temp));
		
	}
}


int main(void)
{
	setlocale(LC_ALL,"russian");
	students mp101;

	mp101.getdata();
	mp101.Disk_read();


	cin.get();
}
ошибка следующая: Unhandled exception at 0x5e04ad54 (msvcp100d.dll) in students_oop.exe: 0xC0000005: Access violation writing location 0xfeeefeee.
ThisIzGame вне форума
Старый 16.06.2010, 10:42   #2
ThisIzGame
Форумчанин
 
Регистрация: 31.08.2009
Сообщений: 161
По умолчанию

вот же....только создал тему, как решил свою проблему... всё это было из за этого
Код:
string name;
стоило мне заменить эту строку на
Код:
char name[10]
как всё заработало без ошибок...
всем спасибо
ThisIzGame вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
классы elenSV Помощь студентам 0 11.05.2009 10:11
Классы TeleSky Помощь студентам 11 05.01.2009 13:43
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53