如何从一个流复制到另一个流?

Fru*_*oul 1 c++

我想知道从性能角度来看,使用 C++ fstream 库将数据序列从任意二进制文件复制到另一个二进制文件中的最佳方法是什么。

序列大小可以是任意大小,从几个字节到数百兆字节。

一种方法当然是使用中间内存缓冲区。如果这是正确的方法,您会考虑多大的中间缓冲区?

另一种(更好的)方法是什么?

编辑:
我应该提到,要求是从第一个流中的任意位置复制到第二个流中的任意位置。

Som*_*ude 5

这通常是使用普通流输出运算符<<输出源流缓冲区(您可以使用 获得rdbuf())来完成:

output_stream << input_stream.rdbuf();
Run Code Online (Sandbox Code Playgroud)