С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сериализация - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расстановка ссылок в списке через цикл http://www.cyberforum.ru/cpp-beginners/thread808863.html
Помогите в реализации расстановки ссылок в списке через цикл. Не могу понять как сделать так, чтобы они друг на друга ссылались. #include <stdio.h> #include <string.h> struct Node { char...
C++ Строки Что не так, выбивает ошибку как на скрине, в warning и список ошибок - ничего нету char *str=new char ; cin.getline (str, 100); char *context=NULL; str = strtok_s(str, " ,.-;",... http://www.cyberforum.ru/cpp-beginners/thread808834.html
Массив: Создать массив чисел, полученных из элементов исходного по заданной формуле C++
задан массив {bi}:3,5;-0,66;4,3;0,005;0,6;-740;73;1;2,5; вычислить {zi} zi=(корень квадратный, под корнем b c индексом i в квадрате. i=1,...,9 Z с индексом i вывести на печать Будьте...
C++ Задачи по STL
Доброго времени суток, скачал себе учебник по STL, но в нем нет практических заданий, а теория без практики - плохо... если кто знает, подскажите сборник или книгу, заранее благодарю!:)
C++ Перегрузка оператора << http://www.cyberforum.ru/cpp-beginners/thread808809.html
Господа, у меня когнитивный диссонанс. При компиляции программы вылезает ошибка: "Ошибка 1 error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "const Word" (или...
C++ Как использовать класс описанный в другом файле Есть проект, несколько файлов, в одном из них описаны классы. Как использовать эти классы в других файлах? подробнее

Показать сообщение отдельно
FarStar
Заблокирован
14.03.2013, 22:39  [ТС]
Ну всё понятно, тоесть чтоб записать какой - то жалкий стринг, надо обязательно писать ещё и его длинну....Тость дополнительные 4 байта , а если строк - миллиард ? Итить расколотить....
Так получается? Как же хреново, что в STL нет встроенного сериализатора....
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
td::fstream fs("save.dat",std::ios::out | std::ios::binary);
    std::string str="Die you son of a bitch! -=Duke Nukem=-";
    size_t len=str.length();
    fs.write((char*)&len,sizeof(size_t));
    fs.write(str.c_str(),len);
    fs.write((char*)&c,size);
    fs.close();
    //дальше типа читаю ))
    fs.open("save.dat",std::ios::in | std::ios::binary);
    size_t fucked_len;
    fs.read((char*)&fucked_len,sizeof(size_t));
    char* buf=new char[fucked_len];
    fs.read((char*)&buf,fucked_len);
    std::string token=buf;
    fs.close();
А может есть какие - то методы что ли выравнивания данных в бинарнике или какие - то приёмы для: а) уменьшения объёма, б) увеличения скорости считывания его потом? Может какие - то фишки типа #pragma pack ?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.