Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.01.2010, 17:46   #1
xVxSeRGxVx
Пользователь
 
Регистрация: 28.09.2009
Адрес: Киев, Ладыжин
Сообщений: 42
Репутация: 16

icq: 440876534
skype: xVxSeRGxVx
Печаль проблема при выводе с бинарного файла...

Уважаемые програмисты.... столкнулся с проблемой... работаю с класом Window...
ввожу данные... потом вызываю метод записи в файл fileReadWind :
Код:
void Window :: fileReadWind(Window *t, int count)
{
    ofstream fout(nameOfFile, ios_base :: out | ios_base :: binary);
	
	for (int i=0; i <=count-1; i++)
	{
		fout.write( (char *) &t[i], sizeof t[i]);
	}

	fout.close();    
}
после чего считываю:
Код:
int Window :: fileOutWind(Window *win)
{
	
	
    ifstream fin (nameOfFile, ios_base :: in | ios_base :: binary);
	fin.clear();
	if (!fin)
	{
	    cerr << "Error of open file - " << nameOfFile << endl;
		exit(1);	
	}

	for (int i=0; !fin.eof();i++)
	{
	     fin.read( (char *) &win[i], sizeof win[i]);
	     cout << win[i].name << " " << win[i].type << " " << win[i].center_x << "/" << win[i].center_y << win[i].height << "*" << win[i].weigth << "\n";
и вот сама проблема... после считывания с файла и вывода на экран появляется дополнительная запись, которая конструктором по умолчанию инициализируется...
вот я добавил фото роботы программы:

задавайте вопросы... если что не понятно... надеюсь на Вашу помощь...

Последний раз редактировалось xVxSeRGxVx; 07.01.2010 в 18:09.
xVxSeRGxVx вне форума   Ответить с цитированием
Старый 13.01.2010, 20:08   #2
xVxSeRGxVx
Пользователь
 
Регистрация: 28.09.2009
Адрес: Киев, Ладыжин
Сообщений: 42
Репутация: 16

icq: 440876534
skype: xVxSeRGxVx
Радость

всё проблему решил сам... ошибка была вот в чём...
при функции записи
Код:
void Window :: fileReadWind(Window *t, int count)
{
    ofstream fout(nameOfFile, ios_base :: out | ios_base :: binary);
	
	for (int i=0; i <=count-1; i++)
	{
		fout.write( (char *) &t[i], sizeof t);
	}

	fout.close();    
}
нада было написать просто , а не sizeof t[i]
и при считывании так же просто sizeof win
Код:
 int Window :: fileOutWind(Window *win)
{
	
	
    ifstream fin (nameOfFile, ios_base :: in | ios_base :: binary);
	fin.clear();
	if (!fin)
	{
	    cerr << "Error of open file - " << nameOfFile << endl;
		exit(1);	
	}

	for (int i=0; !fin.eof();i++)
	{
	     fin.read( (char *) &win[i], sizeof win);
	     cout << win[i].name << " " << win[i].type << " " << win[i].center_x << "/" << win[i].center_y << win[i].height << "*" << win[i].weigth << "\n";
fin.close();
}
xVxSeRGxVx вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при выводе инфо из БД Xeon332 PHP 4 30.12.2009 06:41
глюк при выводе в консоль shurik_7866 Общие вопросы C/C++ 0 07.11.2009 01:30
Скрытие ячеек при выводе на печать Ensoph Microsoft Office Excel 4 05.11.2009 00:42
Проблема при чтении из файла Satorin Общие вопросы Delphi 2 17.12.2008 12:32
Как задать курсив и вид шрифта при выводе на экран? prikolist Помощь студентам 4 20.06.2008 14:54


07:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.