一. vector转数组: 使用memcpy将vector中的数据拷贝到数组中
注意: memcpy的第三个参数,拷贝长度必须乘以sizeof(vec[0])
#include <vector>
#include <iostream>
using std::vector;
int main(void){
//初始化为10个c字符
vector<unsigned char> vec(10, 'c');
unsigned char charray[vec.size()];
//vector全部转到数组
memcpy(charray, &vec[0], vec.size() * sizeof(vec[0]));
for(int i = 0; i != sizeof(charray); ++i){
std::cout << charray[i] ; //打印出来观察一下
std::cout << std::endl;
//转部分vector数据到数组,最后4个
unsigned char ary1[4];
memcpy(ary1, &vec[6], 4);
for(int i = 0; i != sizeof(ary1); ++i){
std::cout << ary1[i] ;
std::cout << std::endl;
return 0;
二. 数组转vector:使用vector的初始化构造函数
a. 定义vector时直接赋值,如:
vector<char> v(array, array + sizeof(array)) //其用法是:vector<char> v(a, a+N) (其中:N代表数组长度.)