これは、AIRとC++の間の最初のネイティブ拡張であり、C++プログラミングでも同様です。したがって、型変換に関するヘルプをどこから探すべきかわかりません。safe uint8_tをwchar_tに変換する
AIR側から、私はuint8_t(FRE ...関数呼び出し)の文字列を受け取ります。 wchar_tが必要なレジストリに書き込むために、この文字列を使用する必要があります。 単純に型変換を行うか、同じサイズの新しいwchar []配列を作成して文字をコピーできるか、MultiByteToWideChar()のようなsometingを使用してUTF-8文字をwchar_tに変換する必要があるかどうかはわかりません。この場合、出力配列の正しいサイズについてはわかりません。あなたは `のstd :: stringstream`にバイト配列を書き込むことができるかどう
...
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)) \t 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 :: basic_ios :: imbue''とUTF8ににstringstreamのロケールを設定し、 'wchar'と読み替えてください。それがうまくいくなら、残酷に使うのは簡単だろう。ありがとう。 – user4581301