Прежде всего, разницы между текстовыми и двоичными файлами не существует, в том смысле, что вы можете открыть любой файл в текстовом двоичном режиме, если захотите. Когда вы открываете файл в текстовом режиме в C или используете операции текстового потока в C ++, эти операции учитывают такие текстовые функции, как, например, окончания строк, поэтому вы можете задавать такие вещи, как readline ().
Для того, что вы хотите сделать, вы должны использовать операции в двоичном режиме, потому что вам не нужны эти функции «интерпретировать поток как текст» (в любом случае они будут давать неверные результаты).