Всегда есть раздел «заголовок» файла BMP, размером которого составляет 14 байт, поэтому лучше начать читать с 15 -го байта и далее. У меня была такая же проблема, как у вас много лун назад.
Так что ... используйте функцию, подобный этому, перед вашим fread
:
fseek ( file, 15, SEEK_SET);