Какая платформа?В * nix вы должны ссылаться на то, как это делает программа file
, которая основана на нескольких эвристических методах, включая проверку первых нескольких байтов файла (многие форматы файлов начинаются с фиксированного заголовка, включая многие форматы изображений).
Если вы работаете в Windows, команда * nix file
, вероятно, все еще поучительна, даже если вы не можете повторно использовать ее код как напрямую.Может также быть какое-то лучшее решение в API Windows (я не программист Windows).