积极答复者
CHAR * 转换为 LPWSTR 的问题

问题
答案
-
Update 一下以上两位。
A2W 是ATL 库里面非常有用的ANSI 字符集转换宽字符集的宏。使用这个宏需要一下步骤:
1) 在stdafx.h 或者要只用A2W 宏的源代码文件中加入"#include <atlbase>"
2) 在需要转换ANSI 字符集到宽字符集的函数代码里面第一行加入"USES_CONVERSION;" 宏,用来声明转换宏A2W所必须的一些必要变量
3) CHAR* p[] = {"某某".“等等”};
LPWSTR pszText = A2W(&p[0]);
即可。
说到底是因为LPWSTR 是指向wchar_t 类型的指针。wchar_t 和 char 不是同一个类型。- 已标记为答案 飘零雪 2010年1月25日 1:29
全部回复
-
Update 一下以上两位。
A2W 是ATL 库里面非常有用的ANSI 字符集转换宽字符集的宏。使用这个宏需要一下步骤:
1) 在stdafx.h 或者要只用A2W 宏的源代码文件中加入"#include <atlbase>"
2) 在需要转换ANSI 字符集到宽字符集的函数代码里面第一行加入"USES_CONVERSION;" 宏,用来声明转换宏A2W所必须的一些必要变量
3) CHAR* p[] = {"某某".“等等”};
LPWSTR pszText = A2W(&p[0]);
即可。
说到底是因为LPWSTR 是指向wchar_t 类型的指针。wchar_t 和 char 不是同一个类型。- 已标记为答案 飘零雪 2010年1月25日 1:29
-
Update 一下以上两位。
A2W 是ATL 库里面非常有用的ANSI 字符集转换宽字符集的宏。使用这个宏需要一下步骤:
1) 在stdafx.h 或者要只用A2W 宏的源代码文件中加入"#include <atlbase>"
2) 在需要转换ANSI 字符集到宽字符集的函数代码里面第一行加入"USES_CONVERSION;" 宏,用来声明转换宏A2W所必须的一些必要变量
3) CHAR* p[] = {"某某".“等等”};
LPWSTR pszText = A2W(&p[0]);
即可。
说到底是因为LPWSTR 是指向wchar_t 类型的指针。wchar_t 和 char 不是同一个类型。
新版本中的ATL应该使用CA2W类而不再需要USES_CONVERSION了吧。 -