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


Класс CW2AEX

Этот класс используется макросами CT2AEXпреобразования строк, , CW2TEXCW2CTEXи CT2CAEXтипом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 Статический буфер, используемый для хранения преобразованной строки.

Замечания

Если дополнительные функциональные возможности не требуются, используются CT2AEXCW2TEX, , CW2CTEXCT2CAEXили CW2A в коде.

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

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

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

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

  • CT2AEX

  • CW2TEX

  • CW2CTEX

  • CT2CAEX

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

  • CW2A

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

Пример

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

Требования

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

CW2AEX::CW2AEX

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

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

Параметры

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

nCodePage
Кодовая страница, используемая для преобразования. Дополнительные сведения см. в разделе "Обсуждение параметров кодовой страницы" для функции MultiByteToWideChar пакета SDK для Windows.

Замечания

Выделяет буфер, используемый в процессе перевода.

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.

См. также

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