|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.04.2013, 19:19 | #1 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Как преобразовать LPTSTR to System.String
Какую бы программу не пытался я писать,и в какой среде - постоянно палки в колеса вставляют проклятые несовместимые типы Unicode и ANSI.
На этот раз Visual Studio 2010 дает такую проблему: GetCurrentDirectory(MAX_PATH,gamefo lder) gamefolder у нас должна быть LPTSTR или TCHAR* (что вообщем одно и тоже) Теперь мне нужно вывести в Edit1.Box->Text это значение. Convert::ToString не прокатывает т.к. это указатель. Как правильно преобразовать LongPointerTCHARSTRing в обычный String? |
08.04.2013, 20:01 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Что вы называете "обычный String"?
std::string? CString? Что-то еще? |
08.04.2013, 20:14 | #3 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Походу System::String
Вот здесь обратное преобразование: http://www.cyberforum.ru/visual-cpp/thread71096.html |
08.04.2013, 22:20 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
System.String - это CLR... вы уж определитесь которое API будете использовать WIN32 или .NET.
http://msdn.microsoft.com/en-us/libr...code-snippet-2 |
08.04.2013, 23:28 | #5 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Ну смотрите,для консоли сработал бы такой код:
Код:
|
09.04.2013, 09:15 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Ну поскольку на дворе 2013 и нам нужно писать современный GUI, то вместо GetCurrentDirectory() надо использовать современные библиотеки, а они ничего, кроме String не возвращают. Так в чем проблема? Вы ссылку хоть посмотрели?
|
09.04.2013, 09:55 | #7 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Да тупанул немного.Оказывается надо было всего сделать:
Код:
Я уже немного стал понимать что это: LPTSTR=TCHAR*=wchar_t* для юникодного проекта (VS2010) Мы пишем: Код:
|
09.04.2013, 10:42 | #8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
А у вас точно Unicode проект?
Если до, то sizeof() не очень подходящий вариант... А так... http://social.msdn.microsoft.com/For...-059bea230b99/ |
14.04.2013, 21:47 | #9 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Если кому интересно,я докопался до причин глюка.
Нужно вместо LPTSTR указывать TCHAR gamefolder[]. На VS2008 работает такой код: Код:
|
14.04.2013, 22:42 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Чисто из любопытства, почему вы так упорно хотите использовать GetCurrentDirectory?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PsAPI. GetProcessImageFileName. Привести LPTSTR к string | Человек_Борща | Общие вопросы Delphi | 9 | 30.05.2012 23:10 |
Как преобразовать String в Integer? | vitaliymaz | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 13.10.2011 19:35 |
Как преобразовать TShortCut в string? | mobilitialex | Общие вопросы Delphi | 9 | 07.04.2011 23:30 |
Как получить адрес String строки или преобразовать String | madboy4ik | Общие вопросы по Java, Java SE, Kotlin | 6 | 15.01.2010 11:57 |
Как преобразовать TextFile в String? | DragonionS | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 06.06.2007 18:38 |