Класс CW2AEX
Этот класс используется макросами CT2AEX
преобразования строк, , CW2TEX
CW2CTEX
и 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 |
Статический буфер, используемый для хранения преобразованной строки. |
Замечания
Если дополнительные функциональные возможности не требуются, используются CT2AEX
CW2TEX
, , CW2CTEX
CT2CAEX
или 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
Класс
Общие сведения о классе