0 / 0 / 0
Регистрация: 05.05.2016
Сообщений: 26
1

Запись вектора uin8_t в бинарный файл и обратное чтение из файла

09.01.2017, 17:40. Показов 2636. Ответов 2
Метки нет (Все метки)

Здравствуйте.
Есть std::vector<uint8_t>.
Нужно записать все элементы в бинарный файл, а затем считать обратно из файла в std::vector<uint8_t>.
Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2017, 17:40
Ответы с готовыми решениями:

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

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

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

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

2
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
09.01.2017, 19:34 2
Лучший ответ Сообщение было отмечено wna как решение

Решение

Цитата Сообщение от wna Посмотреть сообщение
Здравствуйте.
Есть std::vector<uint8_t>.
Нужно записать все элементы в бинарный файл, а затем считать обратно из файла в std::vector<uint8_t>.
Спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdint>
#include <fstream>
#include <iostream>
#include <vector>
 
using namespace std;
 
int main()
{
    vector<uint8_t> ovec{0xFF, 0xCC, 0xDE, 0xAD};
    
    ofstream ofs{"file.bin"};
    for(uint8_t b : ovec) ofs << b;
    ofs.close();
 
    ifstream ifs{"file.bin"};
    vector<uint8_t> ivec;
    uint8_t b;
    while(ifs >> b) ivec.push_back(b);
    ifs.close();
 
    return 0;
}
1
Don't worry, be happy
17781 / 10545 / 2035
Регистрация: 27.09.2012
Сообщений: 26,514
Записей в блоге: 1
10.01.2017, 22:00 3
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
#include <fstream>
#include <iostream>
#include <vector>
 
 
int main()
{
    std::vector<uint8_t> vec {12, 22, 21, 76, 33, 22};
    {
        std::ofstream oFile("file", std::ios::binary);
        if (oFile.is_open()) {
            oFile.write(reinterpret_cast<const char*>(vec.data()), vec.size());
        }
    }
    vec.clear();
    {
        std::ifstream iFile("file", std::ios::binary);
        if (iFile.is_open()) {
            iFile.seekg(0, std::ios::end);
            std::size_t pos = static_cast<std::size_t>(iFile.tellg());
            iFile.seekg(0);
            vec.resize(pos);
            if (!vec.empty()) {
                iFile.read(reinterpret_cast<char*>(&vec.front()), vec.size());
            }           
        }       
    }
    for(auto e: vec) {
        std::cout << static_cast<unsigned int>(e) << ", ";
    }
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2017, 22:00
Помогаю со студенческими работами здесь

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

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

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

Запись вектора в бинарный файл, циклом
Есть файл input.txt с таким содержимым: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20...


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

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

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