Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Конвертировать string в LPCTSTR |
Автор: Agentx86 2.6.2009, 10:30 |
Есть функция в котой входная переменная типа LPCTSTR в нее нужно передать переменную типа string. Выскакивает вот такая ошибка cannot convert parameter 2 from 'std::string' to 'LPCTSTR' |
Автор: GremlinProg 2.6.2009, 10:41 |
метод std::string::c_str дает LPCSTR но он не совместим с LPCTSTR в общем случае эта тема подробно обсуждалась: http://forum.vingrad.ru/forum/topic-256580/kw-unicode-utf/hl/_t/index.html |
Автор: GremlinProg 2.6.2009, 12:01 | ||
а int MyStrLength(string Virable) - не нужен но тут я просто не понимаю смысла метода Converte если нужно одно- или двух-байтовую строку преобразовать к соглашению, принятому в проекте: LPTSTR, то для этого есть _stprintf _stprintf(lpszBuffer,_T("%hs"),lpszMultiByteString); _stprintf(lpszBuffer,_T("%ws"),lpszWideCharString); |
Автор: Agentx86 2.6.2009, 15:26 | ||
Большое спасибо за подсказку. Решил проблему char strok[255]; wsprintf((LPWSTR)strok,_T("%hs"),it->getTitle().c_str()); |
Автор: GremlinProg 2.6.2009, 16:51 | ||||
![]()
и это только при том, что getTitle() возвращает std::string а если везде использовать только std::_tstring, вместо std::string то конвертировать вообще ничего не придется |
Автор: Rififi 2.6.2009, 22:35 | ||
|