Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Этот класс используется макросами 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 текущего потока для преобразования. Если вы хотите переопределить это поведение для определенного преобразования, укажите кодовую страницу в качестве второго параметра конструктору класса.
Следующие макросы основаны на этом классе:
CT2AEXCW2TEXCW2CTEXCT2CAEX
Следующий тип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 Класс
Общие сведения о классе