我必须从istream
复制多个字节到ostream
,有两种方法可以执行此操作。
myostream << myistream.rdbuf();
和
copy( istreambuf_iterator<char>(myistream),
istreambuf_iterator<char>(),
ostreambuf_iterator<char>(myostream)
);
我发现rdbuf
版本的速度至少是copy
的两倍。
我还没有找到只复制100字节的方法,但由于要复制的大小可能会相当大,如果可能的话我想使用rdbuf
版本。
如何将这些副本限制在给定的字节数内?
copy_n
变种会复制n
个项目,但仅从输入流中删除n-1
个项目!http://coliru.stacked-crooked.com/a/5bf783061b54bc35 - typ1232