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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Разделить строки на две части http://www.cyberforum.ru/cpp-beginners/thread989366.html
В задаче сказано: Дано текстовый файл. В каждой строке информация про игрушки (название и цена) которые записаны через пробел. Вывести окончательную информацию про игрушки по возрастанию цены, а игрушки с одинаковой ценой вывести по алфавиту. Не могу понять каком образом отделить название и цену в каждой строке и добавить в список. Подскажите кто с таким сталкивался. #include<iostream>...
C++ Задача C++ написать в DEV_cpp 1Работа с цифрами в числе Вводится последовательность из N целых чисел. Определить количество одинаковых рядом стоящих чисел. Thanks !!! http://www.cyberforum.ru/cpp-beginners/thread989358.html
Не могу найти ошибку C++
Доброго времени суток, вообщем такое задание: В одномерном массиве,состоящем из n вещественных элементов вычислить: 1. Произведение положительных элементов массива; 2.Сумму элементов массива, расположенных до минимального элемента. 3.Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах. (n вводится с клавиатуры) написал код, но...
Ссылка на неразрешенную лексему при работе с шаблоном C++
Никак не могу понять с чем связанна эта ошибка error LNK2028: ссылка на неразрешенную лексему (0A0003B6) "void __cdecl Connect<class Element,class F,void (__thiscall F::*)(void)>(class Element *,class Event *,class F *,void (__thiscall F::*)(void))" (??$Connect@VElement@@VF@@P82@AEXXZ@@$$FYAXPAVElement@@PAVEvent@@PAVF@@P82@AEXXZ@Z) в функции "int __cdecl main(void)" (?main@@$$HYAHXZ) ...
C++ Нужна программка http://www.cyberforum.ru/cpp-beginners/thread989342.html
Надо создать в динамической памяти матрицу и определить в ней все строки и столбцы, в которых встречаются одинаковые элементы. Помогите пожалуйста, а то я в этом совсем ничего не понимаю.
C++ Бистрая сортировка Как правильно использовать функцию Qsort (как ее использовать для таких типов данных как char, long long int, short?), как ее можно использовать без этой функции (или подскажите более скоростную функцию, которая может заменить эту): int compare (const void* a, const void* b){ return *(int *)a - *(int *)b; } подробнее

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

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, то все работает нормально.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru