Из бинарного файла читаются символы переноса

Делаю упаковщик различных изображений. Но при чтении происходят непонятные действия, связанные с тем, что читаются только первые 3 символа. Дальше различные /x4/x6 и до вероятно завершения строки. Как мне проигнорировать это и прочитать весь файл?

std::ifstream file(file_path, std::ios::binary);

if (file)
{
    file.seekg(0, std::ios::end);
    std::streamsize size = file.tellg();
    file.seekg(0, std::ios::beg);

    char* data = reinterpret_cast<char*>(calloc(size, sizeof(char)));
    if (data == nullptr) return;

    if (!file.read(data, size))
    {
        log("Error reading file: ", file_path);
        free(data);
        return;
    }
}

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

Автор решения: Алексей Морозов

Проблему решил, сохранив специальные символы конца строки в векторе:

std::vector<char> buffer((std::istreambuf_iterator<char>(file)), (std::istreambuf_iterator<char>()));
→ Ссылка