У нас была интересная проблема с открытием файлов в текстовом режиме, где файлы имели комбинацию символов окончания строки:
1\n\r
2\n\r
3\n
4\n\r
5\n\r
Наше требование заключается в том, что мы можем сохранить нашу текущую позицию в файле (мы использовали fgetpos), закрыть файл и затем позже, чтобы снова открыть файл и перейти к этой позиции (мы использовали fsetpos).
Однако, если в файле есть сочетания концов строк, этот процесс не смог найти фактическую позицию. В нашем случае (наш инструмент анализирует C ++), мы перечитывали части файла, который мы уже видели.
Перейти с двоичным - тогда вы можете точно контролировать, что читается и записывается из файла.