Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Конвертация char в LPTSTR

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

sunstars

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть три переменные (С++):

Код:
 
char password[0x50]="11111111111uuuuuuuuuu";
LPTSTR pszPassword = NULL;
int nBufUnicode;
 

Нужно скопировать содержимое password в pszPassword. Для этого нужно конвертировать char в LPTSTR.
Для этого я использовал такой код:

Код:
 
//получаем размер буфера
nBufUnicode=MultiByteToWideChar(CP_ACP,    MB_PRECOMPOSED,    password,-1,(LPWSTR)pszPassword,0);
//конвертируем
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, password,-1, (LPWSTR)pszPassword,nBufUnicode);
 

Буфер для конвертации оказывается пустым. Как лучше конвертироавть с помощью Windows API?

Всего записей: 22 | Зарегистр. 06-01-2016 | Отправлено: 21:16 27-07-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sunstars

Цитата:
Для этого нужно конвертировать char в LPTSTR

в уникоде это представляет собой wchar_t.
поэтому просто замените char на wchar_t

Цитата:
An LPWSTR if UNICODE is defined, an LPSTR otherwise


Цитата:
typedef wchar_t* LPWSTR, *PWSTR;

Всего записей: 15108 | Зарегистр. 20-09-2014 | Отправлено: 23:54 27-07-2017
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
...Как лучше конвертироавть с помощью Windows API?

 

Код:
//...
    nBufUnicode = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, password, -1, NULL, 0);
    pszPassword = malloc(nBufUnicode * 2);
    MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, password, nBufUnicode, (LPWSTR)pszPassword, nBufUnicode);
    MessageBoxW(NULL, pszPassword, NULL, 0);
    free(pszPassword);
//...
 


Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 07:55 28-07-2017
sunstars

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ne_viens

Спасибо, работает.

Всего записей: 22 | Зарегистр. 06-01-2016 | Отправлено: 11:13 28-07-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Конвертация char в LPTSTR


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru