C++如何把一个动态数组复制到另一个动态数组中去哦

来源:百度知道 编辑:UC知道 时间:2024/09/26 20:30:02
再帮忙看下吧,各位大哥大姐们:char * name[]={"liudehua","shangchuan","manyi","zhuique"}假设一个这样不知道大小的动态数组,不要其中某个元素,然后把其余的元素复制到另一个动态数组中去,这要怎么做呢?麻烦各位大大啦,帮小弟个忙,到时给你们多加点分意思下哦,呵呵!谢谢啦!

int *p1=new int[100];
for(int i=0;i<100;++i)
pi[i]=i+1;
int *p2=new int[100];
memmove(p2,p1,sizeof(int)*100);//将p1中间每个字节的内容赋值到p2中间,最后一个参数是要赋值的字节数,也可以用函数memcpy,2个函数功能一样,但有细微区别。另外如果是字符指针的话,也可以用strcpy函数
for(int i=0;i<100;++i)
cout<<p2[i]<<' ';
delete []p1;
delete []p2;

memmove那句也可以用循环来处理
for(int i=0;i<100;++i)
p2[i]=p1[i];

char *p=new char[vec.size() + 1](); //创建一个动态数组
for(iter=vec.begin();iter!=vec.end();iter++)
{
*p++ = *iter;
}
*p = '\0';

memcpy(dest,src,n)
把地址为src开始的n个字节的数据,拷到地址为dest的地方