Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 25.03.2016
Сообщений: 38

Сериализатор для примитивных типов данных

12.11.2018, 23:23. Показов 2283. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вечера, подскажите, как сделать сериализатор или хотя бы пните в нужную сторону. Нужно сделать сериализатор для примитивных типов данных. Заранее благодарю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2018, 23:23
Ответы с готовыми решениями:

Размер примитивных типов, выравнивание и прочее
Как обычно борются с тем, что примитивный тип от компа к компу разного размера? Допустим, если записывают данные по сети или в двоичные...

Написать регулярное выражение для примитивных типов данных
Требуется написать регулярное выражение для примитивных типов int,float,char, а также их массивов. (вывод только инициализированных)

Размерность примитивных типов данных
Вопрос довольно глупый, но почему в long не влезает 11-ти значное целое число, если диапазон long от -9223372036854775808 до...

23
Just Do It!
 Аватар для XLAT
4221 / 2686 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
14.11.2018, 18:00
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от eva2326 Посмотреть сообщение
error: ‘ifstream’ was not declared in this scope
добавьте std
std::ifstream fin("dump.bin");
или
using namespace std;
или
using ifstream;

тут первый вариант)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <fstream>
#include <iomanip>
///ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
/// MAIN                                                                       |
/// Идея простейшего сериализатора.                                            |
///ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
int main( )
{   
    // Ваши POD структуры:----------------------------------------------------->
    // Внимание! Это как пример.
    class cMyStruct1
    {   
    public:
        int i;
        float f;
        // ...
    }o1 = { 777, 777.888f };
 
    class cMyStruct2
    {
    public:
        double d;
        cMyStruct1 mo;
        // ...
    }o2 = { 11111.2222222222, {333, 444.555f } };
 
    // Пишем в файл:----------------------------------------------------------->
    std::ofstream out("dump.bin", std::ios::binary | std::ios::trunc);
    out.write((char*)&o1, sizeof(o1));
    out.write((char*)&o2, sizeof(o2));
    out.close();
 
    // Читаем из файла:-------------------------------------------------------->
    cMyStruct1 o3;
    cMyStruct2 o4;
    std::ifstream fin("dump.bin");
    fin.read((char*)&o3, sizeof(o3));
    fin.read((char*)&o4, sizeof(o4));
    fin.close();
 
    // Смотрим, что прочитали:------------------------------------------------->
#define PRN(x) std::cout << #x << " = " << std::setprecision(15) << x << "\n"
    PRN(o3.i);
    PRN(o3.f);
    PRN(o4.d);
    PRN(o4.mo.i);
    PRN(o4.mo.f);
 
    getchar();
    return 0;
}
0
 Аватар для eva2326
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
14.11.2018, 19:25
Цитата Сообщение от XLAT Посмотреть сообщение
или using ifstream;
error: expected nested-name-specifier before ‘ifstream’ using ifstream;
...
0
Just Do It!
 Аватар для XLAT
4221 / 2686 / 656
Регистрация: 23.09.2014
Сообщений: 9,246
Записей в блоге: 3
14.11.2018, 19:39
Цитата Сообщение от eva2326 Посмотреть сообщение
или using ifstream;
в коде нужно было написать следующее:
C++
1
using std::ifstream;
Чем вас не устроил первый вариант?
Я бы с удовольствием послушал замечания по самой сериализации: идеи, задачи, проблемы?
ну а так, это просто флуд, извините.
0
0 / 0 / 0
Регистрация: 25.03.2016
Сообщений: 38
16.11.2018, 15:58  [ТС]
Всем спасибо, вы натолкнули меня на некоторые мысли. Сможете ещё раз пнуть меня в нужную сторону. Как превратить объект в двоичный поток ? Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2018, 15:58

Преобразование примитивных типов данных
Как работает преобразование примитивных типов данных с точки зрения распределения в памяти? Например, расширение public class Test { ...

Алгоритм с использованием примитивных типов данных
Реализовать алгоритм с использованием примитивных типов данных.

Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число
Подскажите в чем ошибка? при попытке перхода в режим пользователя появляется ошибка Операции сравнения на больше-меньше допустимы только...

Конвертация массивов примитивных типов в list
необходимо конвертировать примитивы! не обертки, а именно примитивы. я сделал это. но можно ли сделать как-то лаконичней. public...

Как определяется диапозон допустимых значений примитивных типов?
Почему byte имеет диапозон от -128 до 128, short от -32,768 до 32,767 и так далее?


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru