Как прочитать с файла бинарные данные в вектор чаров с++

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


Ответы (2 шт):

Автор решения: Barracudach
bool ReadFileToMemory(const std::string file_path, std::vector<uint8_t>* out_buffer)
{
    std::ifstream file_ifstream(file_path, std::ios::binary);

    if (!file_ifstream)
        return false;

    out_buffer->assign((std::istreambuf_iterator<char>(file_ifstream)), std::istreambuf_iterator<char>());
    file_ifstream.close();

    return true;
}
→ Ссылка
Автор решения: Mikhailo

Можно вот так:

vector<unsigned char> readFile(const char* name) {
    ifstream in(name, ios::binary);
    in.seekg(0, ios::end);
    size_t sz = in.tellg();
    in.seekg(0);
    vector<unsigned char> v(sz);
    in.read((char*)v.data(), sz);
    return v;
    }

Все проверки, что файл есть, открылся и так далее - допишите сами.

→ Ссылка