C++如何把一个动态数组复制到另一个动态数组中去哦
再帮忙看下吧,各位大哥大姐们:char*name[]={"liudehua","shangchuan","manyi","zhuique"}假设一个这样不知道大小的动态数...
再帮忙看下吧,各位大哥大姐们:char * name[]={"liudehua","shangchuan","manyi","zhuique"}假设一个这样不知道大小的动态数组,不要其中某个元素,然后把其余的元素复制到另一个动态数组中去,这要怎么做呢?麻烦各位大大啦,帮小弟个忙,到时给你们多加点分意思下哦,呵呵!谢谢啦!
展开
3个回答
展开全部
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];
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';
for(iter=vec.begin();iter!=vec.end();iter++)
{
*p++ = *iter;
}
*p = '\0';
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
memcpy(dest,src,n)
把地址为src开始的n个字节的数据,拷到地址为dest的地方
把地址为src开始的n个字节的数据,拷到地址为dest的地方
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询