gpt4 book ai didi

c++ - 将二进制文件的一部分读入预先存在的 basic_string 对象

转载 作者:行者123 更新时间:2023-11-28 07:20:41 25 4
gpt4 key购买 nike

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

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

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

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

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

最佳答案

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

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

关于c++ - 将二进制文件的一部分读入预先存在的 basic_string 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19515384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com