首页 > 解决方案 > 如何在 C/C++ 中将 unsigned char* 转换为 unsigned char 数组?

问题描述

我的函数看起来像这样:

void Example(const unsigned char* bytes)
{
    unsigned char buffer[2048] = {0};
    strcpy(buffer, bytes);
}

这不起作用。我该如何进行这项工作?

标签: c++cvisual-c++interop

解决方案


你确实需要转换任何东西。如果你想从一个复制

void Example(const void *bytes, size_t len)
{
    unsigned char buffer[2048];
    memcpy(buffer, bytes, len);
    /* ...*/ 
}

示例用法

int foo(void)
{
    char str[] = "Hello world";
    Example(str, sizeof(str));
}

推荐阅读