我想使用memcpy()将一个长整型数组复制到一个整型数组。长整型数组的大小是整型数组大小的一半。
除了memcpy()之外,我还使用了以下内容:
int *dst;
long long src[10];
dst=(int*)src;但我只想使用memcpy()。
因为其目的是,long long数组是一个临时数组,它将其内容复制到源数组的子数组中。源数组是一个二维数组。
发布于 2015-07-03 15:42:59
一般而言,sizeof (long long) > sizeof (int)。
因此,您不能使用逐字节复制操作(如memcpy())将long long数组中的所有元素复制到int数组中;数据将不适合。
您可以使用循环手动执行(截断)复制。这当然会丢失信息:
const long long incoming[] = { 1ll, 2ll, /* more here ... */ };
int out[sizeof incoming / sizeof *incoming];
for(size_t i = 0; i < sizeof incoming / sizeof *incoming; ++i)
out[i] = (int) incoming[i];https://stackoverflow.com/questions/31200799
复制相似问题