我有一个 std::vector<unsigned char>
带有二进制数据。
我只想在特定位置以特定大小读取这个 vector 。
我想要一个这样的函数:
myvector.read(PositionBegin, Size)
myvector.read(1200,3)
这个函数可以从1200
中读取数据, 至 1203
.
C++中有这样的函数吗?
最佳答案
我假设您想要另一个范围超出范围的 std::vector...
此链接提供了一个很好的答案:Best way to extract a subvector from a vector?
你的函数看起来像:
std::vector<unsigned char> readFromVector(const std::vector<unsigned char> &myVec,
unsigned start, unsigned len)
{
// Replaced T with unsigned char (you could/should templatize...)
std::vector<unsigned char>::const_iterator first = myVec.begin() + start;
std::vector<unsigned char>::const_iterator last = first + len;
std::vector<unsigned char> newVec(first, last);
return newVec;
}
关于c++ - 读取 std::vector<unsigned char> 中特定位置的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963717/