![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Какую бы программу не пытался я писать,и в какой среде - постоянно палки в колеса вставляют проклятые несовместимые типы Unicode и ANSI.
На этот раз Visual Studio 2010 дает такую проблему: GetCurrentDirectory(MAX_PATH,gamefo lder) gamefolder у нас должна быть LPTSTR или TCHAR* (что вообщем одно и тоже) Теперь мне нужно вывести в Edit1.Box->Text это значение. Convert::ToString не прокатывает т.к. это указатель. Как правильно преобразовать LongPointerTCHARSTRing в обычный String? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Что вы называете "обычный String"?
std::string? CString? Что-то еще? |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Походу System::String
Вот здесь обратное преобразование: http://www.cyberforum.ru/visual-cpp/thread71096.html |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
System.String - это CLR... вы уж определитесь которое API будете использовать WIN32 или .NET.
http://msdn.microsoft.com/en-us/libr...code-snippet-2 |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Ну смотрите,для консоли сработал бы такой код:
Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Ну поскольку на дворе 2013 и нам нужно писать современный GUI, то вместо GetCurrentDirectory() надо использовать современные библиотеки, а они ничего, кроме String не возвращают. Так в чем проблема? Вы ссылку хоть посмотрели?
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Да тупанул немного.Оказывается надо было всего сделать:
Код:
Я уже немного стал понимать что это: LPTSTR=TCHAR*=wchar_t* для юникодного проекта (VS2010) Мы пишем: Код:
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
А у вас точно Unicode проект?
Если до, то sizeof() не очень подходящий вариант... А так... http://social.msdn.microsoft.com/For...-059bea230b99/ |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
![]()
Если кому интересно,я докопался до причин глюка.
Нужно вместо LPTSTR указывать TCHAR gamefolder[]. На VS2008 работает такой код: Код:
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Чисто из любопытства, почему вы так упорно хотите использовать 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 |