Конвертировать TCHAR в LPWSTR в VC ++? - PullRequest
3 голосов
/ 28 февраля 2011

Как преобразовать TCHAR в LPWSTR в VC ++?

Пример: у меня есть

TCHAR  achValue[16383]; 

Я хочу присвоить это значение LPWSTR.Как этого добиться в VC ++

Любая помощь приветствуется.

Ответы [ 3 ]

4 голосов
/ 28 февраля 2011

TCHAR - это либо char, либо wchar _t, в зависимости от настроек Unicode / MBCS ваших проектов.Если вы компилируете как Unicode, achValue может использоваться как LPWSTR.Если нет, вам нужно использовать MultiByteToWideChar для преобразования символов в achValue из используемой вами кодировки в UTF-16.

0 голосов
/ 28 февраля 2011

Вам потребуется настроить секцию #ifdef 'для обработки обоих случаев: один для, если определен UNICODE (что означает TCHAR, определяется как wchar_t), и другой, если он не определен ( и вам придется использовать MultiByteToWideChar для его преобразования).

0 голосов
/ 28 февраля 2011

Если в файле вашего проекта определен флаг UNICODE, вы можете просто сделать LPWSTR p = achValue;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...