Поделиться через


Класс 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
Общие сведения о классе