Ты читаешь в строку. Причем читаешь как строку. То есть считывается до первого перевода строки, плюс не забывай, что в строке не может быть нулевых символов (а в бинарном файле они есть).
Поэтому читать надо как массив байт, и работать как с массивом байт.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
|