rai002 @ ウィキ

string を wchar_t に変換

最終更新:

rai002

- view
管理者のみ編集可

string を wchar_t に変換 = 簡単


やること
wchar_t wstr;
string str("test");
wstr = (LPTSTR)string.c_str();

以上

上記でダメなとき(できるときとできないときあり)
using namespace System::Runtime::InteropServices; //Marshal使うから

String ^srcStr = "Hello";

char* dstChar;
dstChar = (char*)(void*)Marshal::StringToHGlobalAnsi(srcStr);

wchar_t *dstWchar_t;
int strLen = srcStr->Length;
dstWchar_t = (wchar_t*)malloc*1;
for(int i = 0 ; i < strLen ; i++) {
  dstWchar_t[i] = srcStr[i];
}
dstWchar_t[strLen] = '\0';

LPSTR dstLPSTR;
dstLPSTR = (LPSTR)dstChar;

LPWSTR dstLPWSTR;
dstLPWSTR = (LPWSTR)dstWchar_t;
ウィキ募集バナー
注釈

*1 strLen+1)*sizeof(wchar_t