【发布时间】:2014-06-06 13:30:28
【问题描述】:
我需要用std::vectors 编写一些简单的代码,我有点挣扎。
我有一个char[] 缓冲区,其中填充了来自另一个程序的回调数据。我需要将此数据附加到向量的末尾 - 整个缓冲区。
std::vector<char> vector;
// data comes from another program
void callback(char buffer[], size_t size)
{
// copy buffer to the end of vector here
}
最后,向量应该包含来自缓冲区的连续数据。
有没有一种有效的方法来做到这一点,而无需通过循环逐个元素地插入?
for (size_t i = 0; i < size; ++i)
vector.push_back(buffer[i]);
【问题讨论】:
-
如何知道缓冲区的大小?或者如果没有完全填满,有多少个字符?
-
搜索关键字:std::copy, std::back_inserter.
标签: c++ arrays callback stdvector