如何使用memcpy两个指针复制使用a,b两者都是unsigned char *:
a 指向充满数据的内存(unsigned char)b 甚至没有分配如何复制a到b使用memcpy?第三个参数memcpy需要a以字节为单位指向的内存大小; 怎么弄明白?
unsigned char* b = (unsigned char*)malloc(length_of_a);
memcpy(b, a, length_of_a);
Run Code Online (Sandbox Code Playgroud)
当然,我不能告诉你如何获得"a"的长度.您无法可靠地调用memcpy如果您不知道或不将其作为变量.否则,任何调用memcpy的尝试本质上都是不安全的.
你真的想做什么?
完全可能"a"根本不是数组.在这种情况下,您不需要memcpy:
char b = '\0';
if (a != NULL)
{
b = *a;
}
Run Code Online (Sandbox Code Playgroud)