0

我有一个大字符串缓冲区和一个输入流

basic_string<uint8_t> *buf = ......;
istream in = ......;

将文件的一部分读入字符串的最有效方法是什么?比如说,文件中的第 0xE3CC 到第 0x1A481 字节。

这里 istream::read 似乎不是答案,因为它读取的是原始字符 []。由于数据非常大,因此使用临时变量是 [in] 有效的。

可悲的是,我没有 C++0x,所以无法使用 copy_n。你有什么建议?谢谢。

4

1 回答 1

1
buf->resize(size);
in.read(&((*buf)[0], size);

顺便说一句,你真的需要buf成为指针吗?

于 2013-10-22T10:39:32.233 回答