微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何从vector <char>获取char *?

| 我已经声明了这样的向量
vector<char> vbuffer;
并将其用作这样的接收缓冲区。
recv = read(m_fd,&m_vbuffer[totalRecv],SIZE_OF_BUFFER);
似乎工作正常,现在我想获取原始char数据进行解析。 如果我定义了这样的函数..
char* getData(){
//return char data from the vector

}
我将如何填写该函数?提前致谢..     

解决方法

        只要不以任何方式调整向量的大小,就可以使用
&vbuffer[0]
作为指向数组的指针。但是,有许多操作会使指向矢量的指针无效,请确保在使用指针时不要调用其中的任何一个。     ,        在c ++ 0x中,只需执行
m_vbuffer.data()
    ,        这将为您提供指向向量中第一个元素的指针,因此您可以像数组一样使用它:
&m_vbuffer[0]
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。