![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Agentx86 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 27.4.2006 Репутация: нет Всего: нет |
Есть функция в котой входная переменная типа LPCTSTR в нее нужно передать переменную типа string. Выскакивает вот такая ошибка cannot convert parameter 2 from 'std::string' to 'LPCTSTR'
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
метод std::string::c_str дает LPCSTR
но он не совместим с LPCTSTR в общем случае эта тема подробно обсуждалась: http://forum.vingrad.ru/forum/topic-256580...l/_t/index.html -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Agentx86 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 27.4.2006 Репутация: нет Всего: нет |
Можете подробнее объяснить или тыкнуть пальцем туда, что надо почитать для решения моей проблемы. Я сейчас сделал следующее объявил вот такие функции и вызвал их вот так.
Код работает для английских символовов и цифр. Вместо русских букв квадратики. |
||||
|
|||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
а int MyStrLength(string Virable) - не нужен но тут я просто не понимаю смысла метода Converte если нужно одно- или двух-байтовую строку преобразовать к соглашению, принятому в проекте: LPTSTR, то для этого есть _stprintf _stprintf(lpszBuffer,_T("%hs"),lpszMultiByteString); _stprintf(lpszBuffer,_T("%ws"),lpszWideCharString); -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Agentx86 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 27.4.2006 Репутация: нет Всего: нет |
Большое спасибо за подсказку. Решил проблему char strok[255]; wsprintf((LPWSTR)strok,_T("%hs"),it->getTitle().c_str()); |
|||
|
||||
GremlinProg |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
![]()
и это только при том, что getTitle() возвращает std::string а если везде использовать только std::_tstring, вместо std::string то конвертировать вообще ничего не придется -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 2 Всего: 36 |
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |