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

Запись вектора в файл и его чтение - C++

Восстановить пароль Регистрация
 
Vova_Villa
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 5
27.10.2013, 13:39     Запись вектора в файл и его чтение #1
Здравствуйте. Возникла такая проблема: У меня есть свой класс

C++
1
2
3
4
5
6
7
8
9
10
11
class CType {
 public:
   CType () {is_empty=true; is_show=false; visible=true;}
   AnsiString type_var;
   AnsiString name_type;
   AnsiString name_var;
   bool is_empty;
   bool is_show;
   bool visible;
 
};
я создаю вектор из элементов этого класса, в ходе выполнения программы его элементы меняются.

Как мне сохранить этот вектор в файл, чтобы в дальнейшем я мог его загрузить?

Пробовал такой вариант:

C++
1
vector <CType> to_save(100);
Сохранение:
C++
1
2
std::ofstream out_file("vector.bin", std::ios::binary | std::ios::out);
out_file.write((const char*)&to_save.front(), to_save.size() * sizeof(CType));
Сохранение произошло, файл создался.

Загрузка:
C++
1
2
3
to_save.resize(100);
std::ifstream in_file("vector.bin", std::ios::binary);
in_file.read((char*)&to_save.front(), to_save.size() * sizeof(CType));
загрузка тоже происходит, но при попытке получить данные из этого вектора появляется "Acces violation...".

Как я понял, вся проблема в том, что в моем классе содержатся элементы AnsiString, если их заменить, например, на int, то все работает нормально.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2013, 13:39     Запись вектора в файл и его чтение
Посмотрите здесь:

C++ запись массива в файл и его чтение
Чтение из файла в C, редактирование его и запись в новый файл C++
Запись и чтение вектора из файла C++
C++ Запись в файл из вектора
C++ Запись/чтение вектора в/из файла.Структуры
Запись вектора в файл C++
Как открыть файл на чтение и запись, создав его, если его не существует, и перезаписать, если он существует? C++
C++ Чтение массива из файла, его преобразование и запись в другой файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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