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


Класс CW2WEX

Этот класс используется макросами преобразования строк CW2TEX и CT2WEX, а также типизированным CW2W.

Важно!

Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.

Синтаксис

template <int t_nBufferLength = 128>
class CW2WEX

Параметры

t_nBufferLength
Размер буфера, используемого в процессе перевода. Длина по умолчанию составляет 128 байт.

Участники

Открытые конструкторы

Имя Описание
CW2WEX::CW2WEX Конструктор.
CW2WEX::~CW2WEX Деструктор

Открытые операторы

Имя Описание
CW2WEX::operator LPWSTR Оператор преобразования.

Открытые члены данных

Имя Описание
CW2WEX::m_psz Элемент данных, в который хранится исходная строка.
CW2WEX::m_szBuffer Статический буфер, используемый для хранения преобразованной строки.

Замечания

Если в коде не требуется дополнительная функциональность, используйте CW2TEX, CT2WEX или CW2W.

Этот класс содержит статический буфер фиксированного размера, который используется для хранения результата преобразования. Если результат слишком велик, чтобы поместиться в статический буфер, класс выделяет память с помощью malloc, освобождая память при выходе объекта из область. Это гарантирует, что в отличие от макросов преобразования текста, доступных в предыдущих версиях ATL, этот класс безопасно используется в циклах и что он не переполняет стек.

Если класс пытается выделить память в куче и завершается ошибкой, он вызовет AtlThrow аргумент E_OUTOFMEMORY.

По умолчанию классы преобразования ATL и макросы используют кодовую страницу ANSI текущего потока для преобразования.

Следующие макросы основаны на этом классе:

  • CW2TEX

  • CT2WEX

Следующий типdef основан на этом классе:

  • CW2W

Сведения об этих макросах преобразования текста см. в разделе ATL и макросы преобразования строк MFC.

Пример

Пример использования этих макросов преобразования строк в ATL и MFC.

Требования

Заголовок: atlconv.h

CW2WEX::CW2WEX

Конструктор.

CW2WEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2WEX( LPCWSTR  psz) throw(...);

Параметры

Psz
Текстовая строка, которая будет преобразована.

nCodePage
Кодовая страница. Не используется в этом классе.

Замечания

Создает буфер, необходимый для перевода.

CW2WEX::~CW2WEX

Деструктор..

~CW2WEX() throw();

Замечания

Освобождает выделенный буфер.

CW2WEX::m_psz

Элемент данных, в который хранится исходная строка.

LPWSTR m_psz;

CW2WEX::m_szBuffer

Статический буфер, используемый для хранения преобразованной строки.

wchar_t m_szBuffer[t_nBufferLength];

CW2WEX::operator LPWSTR

Оператор приведения.

operator LPWSTR() const throw();

Возвращаемое значение

Возвращает текстовую строку в виде типа LPWSTR.

См. также

Класс CA2AEX
Класс CA2CAEX
Класс CA2WEX
Класс CW2AEX
Класс CW2CWEX
Общие сведения о классе