читать файл по два байта за раз.если эти два байта являются новой строкой (\ r \ n), то укажите, что у вас есть новая строка.Теперь прочитайте следующие два, и если они будут новой строкой, сохраните флаг, но удалите эту новую строку (когда я говорю «удалить», это означает, что пропустить запись новой строки во временный файл)теперь, если вы встретите другую новую строку, она снова будет удалена, но если нет, то сбросьте флаг.затем скопируйте содержимое вашего временного файла в оригинал, и все готово.
Вы также можете читать по 1 байту за раз, если ищете один (\ n).или вы можете одновременно читать по 1 КБ файла и затем выполнять эти операции в памяти (это будет намного быстрее).