Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
amdtoha2007
Сообщений: n/a
#1

Сохранение вектора в файл - C++

20.12.2007, 16:28. Просмотров 1833. Ответов 1
Метки нет (Все метки)

Помогите, пожалуйста!!!!
не могу понят в чем ошибка, при записи в файл счетчика, сохранние происходит не правильно... в общем не хочет в файл дописывать информацию...
Код
.....
#include <vector> 
......
cout << "Please enter  ArraySize: ";
cin >> ArraySize; 
.......
vector<double> _signal(ArraySize);
.......
 
ofstream fout;
	  fout.open(fileName, /*ios::out |*/ ios::app | ios::binary );    

	

	if (!fout)
	{
		cout << "Unable to open " << fileName << " for writing.\n";
		return(1);
	}
//=======================================

	 m=0;

    for (i=0; i<n; i++)
    {
      //_signal[i] = m;	
		_signal.push_back(m);
	   m++;
	}  

	fout.write((char*) &_signal, _signal.size() * sizeof(double));
	//_signal.clear;

//	fout.close();
//=======================================

	for (i=0; i<n; i++)
    {
      //_signal[i] = m;	
		_signal.push_back(m);
	   m++;
	}  

	fout.write((char*) &_signal, _signal.size() * sizeof(double));
	//fout.write((char*) &_signal, ArraySize);         
    //_signal.clear;
	
//	fout.close();
//=======================================

    for (i=0; i<n; i++)
    {
      //_signal[i] = m;	
		_signal.push_back(m);
	   m++;
	}  

	fout.write((char*) &_signal, _signal.size() * sizeof(double));
	//fout.write((char*) &_signal, ArraySize);         
//=======================================

//=======================================

	fout.close();
	_signal.clear;

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

 ifstream fin(fileName,ios::binary);    

	if (!fin)
	{
		cout << "Unable to open " << fileName << " for reading.\n";
		return(1);
	}

//=======================================
  	fin.read((char*) &_signal, n * sizeof(double)); 

//=======================================

    for (i=0; i<n; i++)
    {
      end1 = _signal[1];
	  cout << setprecision(20);
	   cout << _signal[i] << endl;	//
	   
	} 

   cout << "Size of Signal =  " << _signal.size() << "\n";
   
//	fin.close();
//=======================================
	fin.read((char*) &_signal, n * sizeof(double)); 
   //fin.read((char*) &_signal, ArraySize); 

    for (i=0; i<n; i++)
    {
	  end2 = _signal[i];
	  cout << setprecision(20);
	   cout << _signal[i] << endl;	//
	   	
	} 

   cout << "Size of Signal =  " << _signal.size() << "\n";
   
//	fin.close();
//=======================================
	fin.read((char*) &_signal, n * sizeof(double)); 
   //fin.read((char*) &_signal, ArraySize); 

	for (i=0; i<n; i++)
    {
	  end3 = _signal[i];// 
	   
	   cout << setprecision(20);
	   cout << _signal[i] << endl;	//
	} 

   cout << "Size of Signal =  " << _signal.size() << "\n";//
	
	fin.close();
//=======================================
заранее благодарин!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2007, 16:28     Сохранение вектора в файл
Посмотрите здесь:

Ввод и сохранение данных вектора C++
C++ Запись вектора стуктур в файл
Запись в файл вектора C++
C++ Файл: При сохранение в файл big100.txt в блокноте отображаются иероглифы, почему?
C++ Запись в файл из вектора
Запись вектора в файл C++
C++ Запись вектора в бинарный файл.
C++ Сохранение в файл вектора указателей
Запись вектора в бинарный файл C++
C++ Запись вектора в бинарный файл
C++ Записать данные из вектора в файл
C++ Сохранение вектора в файл работает, а с загрузкой из файла беда

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amdtoha
Сообщений: n/a
22.12.2007, 17:07     Сохранение вектора в файл #2
гляньте на такой код....

..... пишем в файл.....
Код
	 m=0;
  for (j=0; j < CountS; j++) 
  {
   
	for (i=0; i<n; i++)
    {
       _signal.push_back(m);
	   m++;
	}
	
	  cout << "Size of Signal = " << _signal.size() << ".\n";	

	  for ( q = 0; q < _signal.size(); q++)
	  {
	    //pd = _signal.begin() + q;
		fout.write(reinterpret_cast<char *>(&_signal[q]), sizeof(_signal[q]));
	  } 
     
	 _signal.clear();

  }
.... читаем....

fin.read(reinterpret_cast<char *>(&_signal1), sizeof(_signal1));
     	 
	while (!fin.eof())
	{
	   	_signal.push_back(_signal1);
		fin.read(reinterpret_cast<char *> (&_signal1), sizeof(_signal1));			 
	}
.... пасибо за внемание....
Yandex
Объявления
22.12.2007, 17:07     Сохранение вектора в файл
Ответ Создать тему
Опции темы

Текущее время: 02:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru