Класс CA2WEX
Этот класс используется макросами преобразования строк CA2TEX, CA2CTEX, CT2WEX и CT2CWEX и типизированным CA2W.
Внимание
Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.
Синтаксис
template <int t_nBufferLength = 128>
class CA2WEX
Параметры
t_nBufferLength
Размер буфера, используемого в процессе перевода. Длина по умолчанию составляет 128 байт.
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CA2WEX::CA2WEX | Конструктор. |
CA2WEX::~CA2WEX | Деструктор |
Открытые операторы
Имя | Описание |
---|---|
CA2WEX::operator LPWSTR | Оператор преобразования. |
Открытые члены данных
Имя | Описание |
---|---|
CA2WEX::m_psz | Элемент данных, в который хранится исходная строка. |
CA2WEX::m_szBuffer | Статический буфер, используемый для хранения преобразованной строки. |
Замечания
Если в коде не требуется дополнительная функциональность, используйте CA2TEX, CA2CTEX, CT2WEX, CT2CWEX или CA2W.
Этот класс содержит статический буфер фиксированного размера, который используется для хранения результата преобразования. Если результат слишком велик, чтобы поместиться в статический буфер, класс выделяет память с помощью malloc, освобождая память при выходе объекта из области. Это гарантирует, что в отличие от макросов преобразования текста, доступных в предыдущих версиях ATL, этот класс безопасно используется в циклах и что он не переполняет стек.
Если класс пытается выделить память в куче и завершается ошибкой, он вызовет AtlThrow
аргумент E_OUTOFMEMORY.
По умолчанию классы преобразования ATL и макросы используют кодовую страницу ANSI текущего потока для преобразования. Если вы хотите переопределить это поведение для определенного преобразования, укажите кодовую страницу в качестве второго параметра конструктору класса.
Следующие макросы основаны на этом классе:
CA2TEX
CA2CTEX
CT2WEX
CT2CWEX
Следующий типdef основан на этом классе:
- CA2W
Сведения об этих макросах преобразования текста см. в разделе ATL и макросы преобразования строк MFC.
Пример
Пример использования этих макросов преобразования строк в ATL и MFC.
Требования
Заголовок: atlconv.h
CA2WEX::CA2WEX
Конструктор.
CA2WEX(LPCSTR psz, UINT nCodePage) throw(...);
CA2WEX(LPCSTR psz) throw(...);
Параметры
psz
Текстовая строка, которая будет преобразована.
nCodePage
Кодовая страница, используемая для преобразования. Дополнительные сведения см. в обсуждении параметра кодовой страницы для функции Пакета SDK для Windows MultiByteToWideChar .
Замечания
Выделяет буфер, используемый в процессе перевода.
CA2WEX::~CA2WEX
Деструктор
~CA2WEX() throw();
Замечания
Освобождает выделенный буфер.
CA2WEX::m_psz
Элемент данных, в который хранится исходная строка.
LPWSTR m_psz;
CA2WEX::m_szBuffer
Статический буфер, используемый для хранения преобразованной строки.
wchar_t m_szBuffer[t_nBufferLength];
CA2WEX::operator LPWSTR
Оператор преобразования.
operator LPWSTR() const throw();
Возвращаемое значение
Возвращает текстовую строку в виде типа LPWSTR.
См. также
Класс CA2AEX
Класс CA2CAEX
Класс CW2AEX
Класс CW2CWEX
Класс CW2WEX
Общие сведения о классе