CW2AEX
类
此类由字符串转换宏 CT2AEX
、CW2TEX
、CW2CTEX
和 CT2CAEX
以及 typedef CW2A
使用。
重要
无法在 Windows 运行时中执行的应用程序中使用此类及其成员。
语法
template<int t_nBufferLength = 128>
class CW2AEX
参数
t_nBufferLength
转换过程中使用的缓冲区的大小。 默认长度为 128 字节。
成员
公共构造函数
名称 | 描述 |
---|---|
CW2AEX::CW2AEX |
构造函数。 |
CW2AEX::~CW2AEX |
析构函数。 |
公共运算符
“属性” | 描述 |
---|---|
CW2AEX::operator LPSTR | 转换运算符。 |
公共数据成员
“属性” | 描述 |
---|---|
CW2AEX::m_psz |
存储源字符串的数据成员。 |
CW2AEX::m_szBuffer |
用于存储转换后的字符串的静态缓冲区。 |
备注
除非需要额外的功能,否则请在代码中使用 CT2AEX
、CW2TEX
、CW2CTEX
、CT2CAEX
或 CW2A
。
此类包含固定大小的静态缓冲区,用于存储转换结果。 如果结果过大,无法放入静态缓冲区,则该类将使用 malloc
分配内存,并在对象超出范围时释放内存。 不同于早期版本的 ATL 中提供的文本转换宏,这可确保此类可以安全用于循环中且不会溢出堆栈。
如果类尝试在堆上分配内存并失败,它将使用参数 E_OUTOFMEMORY
调用 AtlThrow
。
默认情况下,ATL 转换类和宏将使用当前线程的 ANSI 代码页进行转换。 如果要为特定转换重写该行为,请将代码页指定为该类的构造函数的第二个参数。
以下宏基于此类:
CT2AEX
CW2TEX
CW2CTEX
CT2CAEX
以下 typedef 基于此类:
CW2A
有关这些文本转换宏的讨论,请参阅 ATL 和 MFC 字符串转换宏。
示例
有关使用这些字符串转换宏的示例,请参阅 ATL 和 MFC 字符串转换宏。
要求
标头:atlconv.h
CW2AEX::CW2AEX
构造函数。
CW2AEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2AEX(LPCWSTR psz) throw(...);
参数
psz
要转换的文本字符串。
nCodePage
用于执行转换的代码页。 有关更多详细信息,请参阅 Windows SDK 函数 MultiByteToWideChar
的代码页参数讨论。
备注
分配转换过程中使用的缓冲区。
CW2AEX::~CW2AEX
析构函数。
~CW2AEX() throw();
备注
释放分配的缓冲区。
CW2AEX::m_psz
存储源字符串的数据成员。
LPSTR m_psz;
CW2AEX::m_szBuffer
用于存储转换后的字符串的静态缓冲区。
char m_szBuffer[t_nBufferLength];
CW2AEX::operator LPSTR
转换运算符。
operator LPSTR() const throw();
返回值
返回文本字符串作为类型 LPSTR
。