c++ - 读取 std::vector<unsigned char> 中特定位置的数据

标签 c++ vector position

我有一个 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/

相关文章:

c++ - std::vector<char> 并获取下一行到定界字符

c++ - 如何访问 map 中的 vector

html - 为什么 'position: absolute' 元素不能相对于 'position: static' 的父元素定位?

css - 间歇性的div定位问题

html - CSS:关于绝对位置的几个问题

c++ - Linux 上 codelite、unittest++ 和 g++ 的链接器错误

c++ - Objective-C 与 C++ 成员初始化

c++ - 将 boost 序列化文本存档转换为结构化格式

c++ - 将文本文件中的数据放入变量中

r - 当只有一列时,如何获取具有名称的数据框的第一行?