我想从istream
读取一些字节到vector
。我认为this会有答案,但实际上却要求完全不同的东西。
到目前为止我的代码:
std::vector<char> read_buffer(std::istream& is, const std::size_t size) {
std::vector<char> buf;
buf.reserve(size);
is.read(buf.data(), size);
return buf;
}
这不起作用,因为vector
在没有它知道的情况下被写入,所以在is.read
之后,它的大小仍为0,而不是size
。实现此功能的正确方法是什么?