Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lNORDl
1 / 1 / 0
Регистрация: 23.02.2014
Сообщений: 44
#1

Как преобразовать LPCWSTR в char*? - C++

27.03.2014, 16:05. Просмотров 320. Ответов 2
Метки нет (Все метки)

Здравствуйте! Как преобразовать LPCWSTR в char*?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 16:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как преобразовать LPCWSTR в char*? (C++):

Невозможно преобразовать параметр 1 из 'const char [15]' в 'LPCWSTR' - C++
с сайта скачала прогу которая должна рисовать сферу, но при компилировании выходит ошибка:error C2664: auxInitWindowW: невозможно...

Запутался как преобразовать LPCWSTR -> LPTSTR - C++
Всех приветствую пишу на vs2013 c++ есть функция один из параметров которой (LPCWSTR filePath) проблема в том, что мне необходимо...

невозможно преобразовать параметр 1 из "const char [8]" в "LPCWSTR" - C++
msoftcon.h //msoftcon.h //declarations for Lafore's console graphics functions //uses Window's console functions #ifndef...

char* -> LPCWSTR - C++
Всем доброго времени суток. Пытаюсь перевести char* строчку (строка текста переменной длины). Собственно код: char* LastChar; ...

Исправить ошибку cannot convert parameter 1 from 'const char [15]' to 'LPCWSTR' (CopyFile) - C++
Народ, помогите, не могу разобраться с "CopyFile(LPCTSTR fromName, LPCTSTR toName, BOOL failIfExists);". Вопрос таков: почему при...

Error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' - C++
error C2664: sprintf: невозможно преобразовать параметр 1 из 'const char *' в 'char *' void crpost(const statep &struc1) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Wlk
49 / 49 / 13
Регистрация: 07.12.2011
Сообщений: 133
27.03.2014, 16:37 #2
Вам нужна функция wcstombs, так как LPCWSTR - это фактически const wchar_t*.
http://www.cplusplus.com/reference/cstdlib/wcstombs/
lNORDl
1 / 1 / 0
Регистрация: 23.02.2014
Сообщений: 44
27.03.2014, 16:46  [ТС] #3
Решение нашел сам:
C++
1
2
3
4
5
6
7
8
9
char* LinkButton::lpcwstrToChar(const std::wstring &wstr)
{
    int size_needed = WideCharToMultiByte(CP_UTF8, 0, &wstr[0], (int)wstr.size(), NULL, 0, NULL, NULL);
    std::string strTo(size_needed, 0);
    WideCharToMultiByte(CP_UTF8, 0, &wstr[0], (int)wstr.size(), &strTo[0], size_needed, NULL, NULL);
    char *cstr = new char[strTo.length() + 1];
    strcpy(cstr, strTo.c_str());
    return cstr;
}
Все равно Спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2014, 16:46
Привет! Вот еще темы с ответами:

Как преобразовать string в char*? - C++
Как преобразовать string в char* и отправить как аргумент наименьшими усилиями? #include <iostream> #include <string> using...

Как преобразовать int в char? - C++
Прошу подсказать, как же все-таки преобразовывать int в char?

Как int преобразовать в char? - C++
простите за глупый вопрос)) но у меня есть какое нибудь int x=1234 к примеру, как преобразовать это число в char s="1234"

Как преобразовать Int в char*? - C++
Доброго времени суток. У меня есть переменная int, в которой однозначное число, как его преобразовать в char*?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru