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

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

Войти
Регистрация
Восстановить пароль
 
korol-sas
0 / 0 / 0
Регистрация: 22.11.2015
Сообщений: 8
#1

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

04.02.2016, 04:45. Просмотров 175. Ответов 1
Метки нет (Все метки)

Здравствуйте, пытаюсь сделать запись вектора из обьектов моего класа в бинарный файл, но получаю не понятного рода символы в значениях атрибутов класа.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void save()
{
     ofstream fout("data.dat", ios::out | ios::binary | ios::trunc);
     fout.write(reinterpret_cast<const char*>(&humans[0]), humans.size()*sizeof(Human));
     fout.close();
}
 
void load()
{
    ifstream fin("data.dat", ios::in | ios::binary);
    fin.seekg(0, fin.end);
    int N = fin.tellg();              
    fin.seekg(0, fin.beg);
 
    const size_t count = N / sizeof(Human);
    vector<Human> buf(count);
    fin.read(reinterpret_cast<char*>(&buf[0]), count*sizeof(Human));
    fin.close();
    humans = buf;
}
получаю допустим такой результат в атрибуте first_name моего класа Human: `-61 'Г'`

Вот мой клас:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Human {
    public:
        void set_first_name(char *);
        char *get_first_name();
 
        void set_last_name(char *);
        char *get_last_name();
       
        void set_phone(char *);
        char *get_phone();
 
        void set_address(Address);
        Address get_address();
 
    private:
        char *first_name;
        char *last_name;
        char *phone;
        Address address;
 
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2016, 04:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись вектора в бинарный файл (C++):

Запись вектора в бинарный файл. - C++
Ребят помогите кто сделать запись в бинарный файл ,а не в текстовый(как в данном коде ) , а то не выходит как то ! заранее спасибо ! ...

Запись в бинарный файл вектора - C++
есть вектор typedef struct Point { double x; double y; Point(double x_, double y_) : x(x_), y(y_) {} ...

Запись вектора в бинарный файл - C++
Здравствуйте, не получаеться написать нормальную запись в файл вектора из обьектов класа. Вот сам клас: public class Human { ...

Запись вектора строк в бинарный файл - C++
Помогите пожалуйста. Компилируется отлично, без ошибок и варнингов, но при запуске выдает ошибку. уже не знаю как быть. не понятно какая...

Запись вектора uin8_t в бинарный файл и обратное чтение из файла - C++
Здравствуйте. Есть std::vector&lt;uint8_t&gt;. Нужно записать все элементы в бинарный файл, а затем считать обратно из файла в...

Запись в бинарный файл двумерного строкового вектора и его считывание - C++
Ну ни в какую не могу понять эту работу с файлами( В чем проблема? Заранее спасибо #include &lt;iostream&gt; #include &lt;fstream&gt; ...

1
nd2
2327 / 1917 / 675
Регистрация: 29.01.2016
Сообщений: 6,265
04.02.2016, 17:36 #2
Цитата Сообщение от korol-sas Посмотреть сообщение
sizeof(Human)
Ты в файл что записываешь? Указатели? Покажи, чем ты их инициализируешь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2016, 17:36
Привет! Вот еще темы с ответами:

Запись в бинарный файл - C++
Всем привет. Столкнулся с следующей проблемой при написании курсача,а именно с записью в бинарный в файл: дело в том, что я каждый раз...

Запись в бинарный файл - C++
Помогите приделает функцию что бы она записывала не в обычный файл а в бинарный, уже три чеса сижу выходит ерунда. Надо еще что бы при...

Запись в бинарный файл - C++
Подскажите пожалуйста,где в коде ошибка??никак найти не могу почему х не считает. В файл записываются 0. Задние на картинке. #include...

Запись в бинарный файл - C++
Подскажите как записать данные из StringGrid в бинарный файл и компоновка допустим из 2 StringGrid построчно


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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