Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Замечание
Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Этот класс используется макросами 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 Класс
Общие сведения о классе