我需要解析一个已经存储在vector<char>
中的文件格式,而我能找到的最接近的方法似乎应该是memcpy
- 但是,没有&似乎可以通过任何方式设置副本应该从哪里开始的偏移量。
我刚刚在这里遗漏了什么,或者我是否必须采取额外的步骤将数据首先复制到临时载体?或者有一种方法更适合这项任务吗?
编辑澄清
答案 0 :(得分:3)
从vector<char> vec;
复制数据的一种方法是:
std::copy( vec.begin() + start_offset, vec.begin() + end_offset, dest );
答案 1 :(得分:0)
std::vector::data()
为您提供了指向数据的原始指针,然后您可以将其用于memcpy
请参阅http://en.cppreference.com/w/cpp/container/vector/data
(如果你想做的话)
或者,更好的是,请参阅@Matt McNabb关于使用std::copy