memcpy params必须属于同一类型吗?

时间:2010-06-06 17:12:26

标签: c++ c visual-studio-2008

我正在读取memcpy从源位置获取字节数并将其添加到目标位置。这是否意味着memcpy可能完全改变数据类型?

memcpy(DoubleOne, CharTwo, strlen(CharTwo));

考虑到这两个值仍为空。

2 个答案:

答案 0 :(得分:5)

是的,memcpy并不关心类型。 (无论如何,它将其参数转换为void指针)

它不会“更改数据类型”,因为它只会将char数据写入double数组(在您的情况下),并希望它有意义。

答案 1 :(得分:3)

是的,他们没必要。

int test = 3;
char dest[sizeof(int)];

memcpy(&dest[0], &test, sizeof(int));

是有效的c(++)。