Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировки вставками(метод двухпутевых вставок) https://www.cyberforum.ru/ cpp-beginners/ thread2354481.html
Составить программу реализации сортировки двухпутевыми вставками. В программе предусмотреть просмотр входных и выходных данных и пошаговое перемещение элементов в соответствии с алгоритмом.
C++ с++ вставка ассемблер не работает
Много ошибок. Подскажите где неправильно, почему и как надо правильно делать. решить функцию y = f(x). 1) sin(x) + 1 / x + 1 при x > 4 2) e^-x при 2 < x <= 4 3) x^2 при -1 < x <= 2 4) |x - 1| / 2x при x <= -1 // 6 лаба по с++ 2 задача.cpp: определяет точку входа для консольного приложения.
C++ Рекуренция https://www.cyberforum.ru/ cpp-beginners/ thread2354475.html
Есть функция которая должна вычислять разницу ,но роботает не корректно. Например после ввода (1-2*3-2*4) то сперва будет обчисляться 2*3 - 2*4,а потом 1 - (2*3-2*4),я понимаю почему так но как сделать чтобы функция работала нормально,тоесть сперва 1-2*3 ,потом (1-2*3)-2*4? (Часть кода о котором идет речь закомментированная). #include <iostream> #include <string> #include <strstream>...
C++ Куда девался указатель Простите, товарищи, ошибка произошла.. Я протрассировал внимательнее и понял, что загвоздка в другом.. Указатель остается на месте, но вот только указывает он не на массив, а на один элемент, а вот это уже странно.. Я объявляю его так: int *pVect = 0; ......... clVector(int s, int e) //конструктор { .............. pVect = new int ; https://www.cyberforum.ru/ cpp-beginners/ thread2354474.html
Определить строки файла, содержащие максимальную по длине строго возрастающую подстроку C++
Задан текстовый файл input.txt. Требуется определить строки этого файла, содержащие максимальную по длине строго возрастающую подстроку. Если таких строк несколько, найти первые 10.
C++ Есть ли в списке хотя бы два одинаковых элемента Доброго времени суток. Костыльно написал? Замечания. Задание: проверить, есть ли в списке хотя бы два одинаковых элемента? #include "pch.h" #include <iostream> #include <list> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread2354468.html
C++ Переписать в другой файл данные сотрудников, которым больше 25 лет https://www.cyberforum.ru/ cpp-beginners/ thread2354467.html
Из внешнего файла, содержащего исходные данные, переписать в другой файл и распечатать данные сотрудников, которым больше 25 лет.
Переписать из одного файла в другой и распечатать анкетные данные студентов, успевающих на 4 и 5 C++
Помогите, пожалуйста, с задачей. Из внешнего файла, содержащего исходные данные, переписать в другой файл и распечатать анкетные данные студентов, успевающих на 4 и 5.
C++ Структуры: посчитать количество заводов, где средний оклад по заводу выше среднего по всем заводам Информация по N заводам города задается строкой следующего вида: фамилия, средний возраст, специальность, средний оклад. Ввести информацию по заводам, посчитать средний оклад по всем заводам. Посчитать количество заводов, где средний оклад по заводу выше среднего по всем заводам. Напечатать это значение и вывести информацию по этим заводам. https://www.cyberforum.ru/ cpp-beginners/ thread2354446.html C++ Оптимизация кода https://www.cyberforum.ru/ cpp-beginners/ thread2354437.html
Нужно както упростить програму /* Дан массив а если в нем встречается такой элемент что а <a то а элемент нужно удалить его из массива и дойти до такого массива где не будет таких элементов*/ #include <iostream> using namespace std; int main() { long long n, i = 0, a, obrez = 1; cin >> n;
C++ Моделирование работы менеджера памяти С/С++
Доброго времени суток! Меня заинтересовала тема выделении/распределении памяти в программах, хочется понять как это работает и сделать свой тривиальный учебный менеджер памяти, перед мной стоят следующие задачи - адресация оперативной памяти - алгоритм работы менеджера памяти - механизм выделения, освобождения памяти что то типа эмулятора менеджера памяти если можно так выразиться, так вот...
C++ Построить таблицу значений для функции https://www.cyberforum.ru/ cpp-beginners/ thread2354427.html
Есть задание построить на С++ таблицу для функции f(x)=arcsin(x) на отрезке с числом разбиений отрезка m=20.
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
20.11.2018, 11:33 0

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

20.11.2018, 11:33. Показов 4351. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено Kot_Fed0t как решение

Решение

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
void fout(vector<struc>&arr, string path)
{
    ofstream fl(path, ios::binary);
 
    size_t sz = arr.size();
    fl.write(reinterpret_cast<char*>(&sz), sizeof(size_t));
 
    for (auto &elem: arr)
    {
        size_t area_size = elem.a.size();
        fl.write(reinterpret_cast<char*>(&area_size), sizeof(size_t));
        fl.write(elem.a.data(), area_size);
 
        fl.write(reinterpret_cast<char*>(&elem.x), sizeof(int));
 
        size_t map_size = elem.m.size();
        fl.write(reinterpret_cast<char*>(&map_size), sizeof(size_t));
        for (auto &i : elem.m)
        {
            int a = i.first;
            int b = i.second;
            fl.write(reinterpret_cast<char*>(&a), sizeof(int));
            fl.write(reinterpret_cast<char*>(&b), sizeof(int));
        }
    }
    fl.close();
}
Добавлено через 9 минут
Циклы со счётчиком надо использовать.
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
void fin(vector<struc>&arr, string path)
{
    ifstream fl1(path, ios::binary);
 
    size_t sz;
    fl1.read(reinterpret_cast<char*>(&sz), sizeof(size_t));
    arr.resize(sz);
 
    struc s;
    vector<char> aa;
 
    for (size_t i = 0; i < sz; ++i)
    {
        size_t area_size;
        fl1.read(reinterpret_cast<char*>(&area_size), sizeof(size_t));
        aa.resize(area_size + 1);
        fl1.read(aa.data(), area_size);
        aa[area_size] = '\0';
        s.a = aa.data();
 
        fl1.read(reinterpret_cast<char*>(&s.x), sizeof(int));
 
        size_t map_size;
        fl1.read(reinterpret_cast<char*>(&map_size), sizeof(size_t));
        for (size_t j = 0; j < map_size; ++j)
        {
            int a, b;
            fl1.read(reinterpret_cast<char*>(&a), sizeof(int));
            fl1.read(reinterpret_cast<char*>(&b), sizeof(int));
            s.m[a] = b;
        }
 
        arr[i] = s;
    }
 
    fl1.close();
}


Вернуться к обсуждению:
Запись и чтение вектора структур в бинарный файл C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2018, 11:33
Готовые ответы и решения:

Запись и чтение вектора структур в бинарный файл(2)
Есть заполненный вектор структур. Структура вида: struct struc { string a; int x; ...

Запись/чтение массива структур в бинарный файл
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; struct test { int x; ...

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

Запись в бинарный файл и чтение из него массива структур
Ребята, выручайте. Огромная проблема с записью и с чтением структуры из бинарного файла. Помогите...

2
20.11.2018, 11:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2018, 11:33
Помогаю со студенческими работами здесь

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

Запись массива структур в бинарный файл
Есть структура Owner: struct Owner{ char name; unsigned int purse; short catb; ...

Запись массива структур в бинарный файл
Одно из полей структуры типа String, нужно записать массив структур в бинарный файл: struct...

Считывание и запись структур в бинарный файл
Здравствуйте, я делаю автоподгрузку и авто сохранение некоторой структуры в бинарный файл. И где-то...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru