Как раз того, чего стоит, если вы просто копируете данные из одного потока в другой, вам не нужно беспокоиться о том, чтобы делать это построчно - строки определяются символами новой строки (или возврат каретки и / или возврат каретки / перевод строки) в данных.
Если вы просто скопируете данные без изменения, строки будут сохранены. Чтобы максимизировать скорость, вы, вероятно, захотите открыть файл в двоичном режиме и использовать fread / fwrite для одновременного копирования достаточно больших фрагментов (например, 4 мегабайта) данных.