Сохраните файл в массиве значений
Существует класс для создания массива и класс, который хранит значения этого массива в файле. Он сохраняет только адрес, но мне нужна ценность. Я не могу найти свою ошибку
Что я уже пробовал:
class Temp; class Array { int*m_mas; int m_size; Temp*m_temp; public: Array(int size); void create(); void show(); void setTemp(Temp*temp); void save(); ~Array(); }; Array::Array( int size):m_size(size),m_mas(new int[m_size]) { } void Array::create() { for (int i = 0; i < m_size; ++i) m_mas[i] = rand() % 20; } void Array::show() { for (int i = 0; i < m_size; ++i) cout << m_mas[i] << " "; } void Array::setTemp(Temp * temp) { m_temp = temp; } void Array::save() { m_temp->write("file.txt", m_mas, m_size); } Array::~Array() { } class Temp { public: Temp(); int write(const char*name, const void*Array, int size); ~Temp(); }; #include "Temp.h" #include<iostream> #include<fstream> using namespace std; Temp::Temp() { } int Temp::write(const char * name, const void * Array, int size) { name = "file.txt"; ofstream fout; fout.open(name, ios_base::out | ios_base::ate); if (!fout.is_open()) { cerr << "Error! File is not open\n"; return -1; } int*Arr = new int[size]; Array = Arr; for (int i = 0; i < size; ++i) //something is wrong { fout << Arr[i]; // it is necessary that the value story goes } fout.close(); return Arr[size]; delete[]Arr; } Temp::~Temp() { } auto main(int argc, char*argv[])->int { Array ob(8); ob.create(); ob.show(); ob.save(); }
[no name]
Что показывает вам отладчик?