大众信息网

C++问题,数组如何用MEMCPY拷贝到新开的内存区域,谢谢

关注:281  答案:3  手机版
解决时间 2021-01-17 12:13
char *pchBuf3 = NULL;
pchBuf3 = (char*) malloc(512*512*3);//rows*cols*3colors
然后
memcpy(pchBuf3 + i * sizeof(cc),cc,sizeof(cc));这样好像是不能把CC的内容复制到pchBuf3里的,谁帮看看谢谢
最佳答案
这是把cc复制到pchBuf3的第i行。
全部回答
assign是stl里的string字符串的拷贝 strcpy,拷贝的时候会把结束符\0,一起拷贝 memcpy 是内存拷贝,拷贝的时候,不会拷贝结束符\0,所以使用memcpy的时候,一定要先初始化,而且memcpy拷贝的时候,需要指定长度。
不知道cc的定义。 我猜要写成: memcpy(pchBuf3 + i * sizeof(cc), &cc, sizeof(cc)); memcpy前2个参数都应该是地址。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!