如何在VC ++中将char *转换为LPWSTR?

时间:2010-12-30 10:25:49

标签: visual-c++ mfc

如何在VC ++中将char *转换为LPWSTR?

LPNETRESOURCEW nr = NULL;
memset(&nr, 0, sizeof (NETRESOURCE));
nr->lpLocalName = strDriveLetter.GetBuffer(strDriveLetter.GetLength()); // this line giving me error "Cannot Convert char* to LPWSTR"

感谢任何帮助。 感谢。

2 个答案:

答案 0 :(得分:0)

使用MultiByteToWideChar功能;

const char* msg = "foobarbaz";
int len = strlen(msg) + 1;
wchar_t *w_msg = new wchar_t[len];
memset(w_msg, 0, len);
MultiByteToWideChar(CP_ACP, NULL, msg, -1, w_msg, len);

答案 1 :(得分:0)

memset(&nr, 0, sizeof (NETRESOURCE));这里nr是一个NULL指针。这是不正确的。你应该首先使用new之类的显式分配或者在堆栈上分配时指向有效内存。