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

Запись массива в файл - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Остап Бендер
12 / 12 / 2
Регистрация: 17.11.2010
Сообщений: 143
04.03.2012, 12:34     Запись массива в файл #1
Есть класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Figure
{
        protected:
        Figure()
        {
                penColor = Form1->ColorBox1->Selected;
        };
        int x,y, storona, diag_1, diag_2;
        TColor penColor;
        public:
        void SetXY(int X, int Y)
        {
                x = X;
                y = Y;
        };
        virtual void Paint(void) {};
};
массив
C++
1
Figure* *arr = new Figure*[255];
, который я заполняю указателями на объекты класса
C++
1
2
3
4
 Figure *figure;
//....
arr[i] = figure;
//....
Как мне этот массив записать в файл ?
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 12:34     Запись массива в файл
Посмотрите здесь:

Запись числового массива в файл?? C++
C++ Запись массива в файл.
Запись из массива а файл C++
C++ Запись числового массива в файл
запись массива в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
04.03.2012, 12:39     Запись массива в файл #2
Нет никакого смысла писать в файл указатели, в следующий раз адреса будут уже другие.
Остап Бендер
12 / 12 / 2
Регистрация: 17.11.2010
Сообщений: 143
04.03.2012, 12:49  [ТС]     Запись массива в файл #3
а объекты ?
как записать массив объектов ?

Добавлено через 1 минуту
может через какой-то контейнер, с помощью метода SaveToFile ?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
04.03.2012, 13:15     Запись массива в файл #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <fstream>
#include <string>
 
class F
{
public:
    std::string s;
    F(const std::string& _s) : s(_s){}
};
 
int main()
{
    std::ofstream ofs("1.txt");
    F arr[2] = {F("ddd"), F("g")}, resArr[2]{F("hh"), F("hh")};
    ofs.write(reinterpret_cast<char*>(arr), sizeof(arr));
    ofs.close();
    std::ifstream ifs("1.txt");
    ifs.read(reinterpret_cast<char*>(resArr), sizeof(resArr));
    ifs.close();
    for(int i= 0; i < 2; ++ i)
    {
        std::cout << resArr[i].s << std::endl;
    }
    return 0;
}
NoMasters
Псевдослучайный
1737 / 1080 / 69
Регистрация: 13.09.2011
Сообщений: 3,093
04.03.2012, 13:26     Запись массива в файл #5
igorrr37, плохой пример, строки так не сохраняются. Впрочем, у ТС в объектах указателей нет, так что ему подойдёт.
Yandex
Объявления
04.03.2012, 13:26     Запись массива в файл
Ответ Создать тему
Опции темы

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