LPWSTR dscStr = "TEST STRING AAAAAA";
char buffer[5000];
wcstombs(buffer, dscStr, sizeof(dscStr));
return scope.Close(String::New(buffer)); // FAILED
我需要将 LPWSTR(或 LPCWSTR)转换为 v8::String。
您发布的代码甚至不应该编译,因为您试图将 a 分配char const *
给 a wchar_t *
。
这应该有效(我对此一无所知v8::String
,所以我假设最后一行中的构造函数调用是正确的)
LPCWSTR dscStr = L"TEST STRING AAAAAA";
// LPCWSTR is an alias for wchar_t const *
// The L before the string literal indicates it is a wide string literal
char buffer[5000];
wcstombs( buffer, dscStr, wcslen(dscStr) );
// Need wcslen to compute the length of the string
return scope.Close(String::New(buffer));