gpt4 book ai didi

c++ - 安全地将 uint8_t 转换为 wchar_t

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:12:25 26 4
gpt4 key购买 nike

这是我在 AIR 和 C++ 之间以及在 C++ 编程中的第一个 native 扩展,所以我不确定到哪里寻找有关类型转换的帮助。

从 AIR 端,我在 uint8_t 中收到一个字符串(FRE ... 函数调用)。我需要使用此字符串写入注册表,其中 wchar_t 是预期的。我不确定我是否可以简单地进行类型转换,或者创建相同大小的新 wchar[] 数组并复制字符,或者我是否需要使用像 MultiByteToWideChar() 这样的东西将 UTF-8 字符转换为 wchar_t。在这种情况下,我不确定输出数组的正确大小。

...
FREObject retObj = NULL;
uint32_t strLength = 0;
const uint8_t *path8 = NULL;

// this is what I get from actionscript call
FREResult status = FREGetObjectAsUTF8(argv[ARG_PATH], &strLength, &path8);
if ((status != FRE_OK) || (strLength <= 0) || (path8 == NULL)) return retObj;


LONG hStatus;
HKEY hKey;
wchar_t *path;

// ??? how to copy uint_t into wchar_t

hStatus = RegOpenKeyEx(HKEY_CURRENT_USER, path, 0, KEY_ALL_ACCESS, &hKey);
...

最佳答案

std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> cv;
std::wstring dst = cv.from_bytes(src);

关于c++ - 安全地将 uint8_t 转换为 wchar_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39012887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com