c++如何将一块内存拆分成两块内存

内存数据的拆分,在开发中有时候也会遇到。

内存数据p,拆分为内存数据p1,内存数据p2.

p的前半部分拷贝到p1,p的后半部分拷贝到p2。

可以使用memcpy来进行数据的拷贝拼接,关键是要控制好拼接的位置:内存数据p的后半部分数据从哪个位置往p2拷贝。


例子:

#include <stdio.h>
#include <string.h>

int _tmain(int argc, _TCHAR* argv[])
{
	char a[] = "45123";
	char *pDes1 = new char[3];
	char *pDes2 = new char[2];

	memcpy(pDes1, a, 3);
	memcpy(pDes2, a + 3, 2);
	for (int i = 0; i < 3; i++)
		printf("a[%d] = %c\n", i, pDes1[i]);

	for (int i = 0; i < 2; i++)
		printf("a[%d] = %c\n", i, pDes2[i]);

	return 0;
}

c++如何将一块内存拆分成两块内存_第1张图片

你可能感兴趣的:(c++如何将一块内存拆分成两块内存)