如何从vector <char>?</char>获取char *

时间:2011-06-22 03:04:37

标签: c++

我已声明了这样的矢量

vector<char> vbuffer;

并将其用作此接收缓冲区..

recv = read(m_fd, &m_vbuffer[totalRecv], SIZE_OF_BUFFER);

似乎正在工作,现在我想获取用于解析的原始char数据..

如果我已经定义了这样的函数..

char* getData(){
//return char data from the vector

}

我如何填写函数内部?提前谢谢..

3 个答案:

答案 0 :(得分:3)

只要不以任何方式调整向量的大小,就可以使用&vbuffer[0]作为指向数组的指针。有许多操作会使向量的指针无效,但请确保在使用指针时不要调用它们中的任何一个。

答案 1 :(得分:3)

在c ++ 0x中,只需执行m_vbuffer.data()

答案 2 :(得分:1)

这将为您提供指向向量中第一个元素的指针,因此您可以像数组一样使用它:

&m_vbuffer[0]