Детектор PNG файла С++
Стоит задача написать программу, которой дается файл, а она определяет png он или нет. Причем сделать это нужно анализируя внутренности файла, а не просто расширение. Открываю файл в бинарном режиме и через метод read() считываю первые 4 байта. В них содержится сигнатура png файла. Вместо этой самой сигнатуры получаю кашу из символов. Понимаю, что использую текстовое чтение, а не бинарное. Какой метод или функцию нужно применить?
std::ifstream file("C:\\project\\file2.png", std::ios::binary);
char value[4];
file.read(value, sizeof(value));
file.close();
Источник: Stack Overflow на русском