Проблема при считывании заголовка .bmp C++
Я пытаюсь считать BITMAPFILEHEADER из .bmp файла, но вместо цифр получаю ASCII символы. Как можно решить данную проблему?
std::string path;
std::ifstream file;
path = "C:\\Users\\user\\Desktop\\Emp.bmp";
file.open(path);
if (!file.is_open())
{
std::cout << "ERROR";
}
else
{
char fromfile[14];
file.read(fromfile, 14);
std::cout << fromfile;
file.close();
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вы выводите символы. Числа, символы и т.д. — просто вопрос интерпретации данных.
Если вам нужен BITMAPFILEHEADER, то и читайте его, а не строку:
BITMAPFILEHEADER bh;
file.read((char*)&bh, sizeof(bh));
std::cout << "bfType = " << bh.bfType << std::endl;
std::cout << "bfSize = " << bh.bfSize << std::endl;
...
Вы же пытаетесь интерпретировать бинарные данные как строку.