2010-10-15 5 views
2

Я использую Managed C++.
Мне нужно извлечь родительский каталог после того, как OpenFileDialog вернет путь к файлу String ^.Получить родительский каталог файла как строку C++

System::String^ filestring = openFileDialog1->FileName; 

Метод, который использует Microsoft является Directory::GetParent, но это должно быть сохранено как

System::IO::DirectoryInfo^ WhyIsThisNotAString = Directory::GetParent(filestring) 

мне нужно как-то конвертировать из DirectoryInfo^ в String^.

Я также попытался это после того, как OpenFileDialog называется, но она не работает:

String^ CurrDir = Directory::GetCurrentDirectory(); 

Или, если есть лучший способ извлечь родительский каталог, который будет большим.

ответ

2

Вы можете использовать свойство FullName:

System::String^ directoryFullName=Directory::GetParent(filestring)->FullName; 
2

Вы смотрели на the documentation?

DirectoryInfo класс имеет FullName свойство со следующим описанием:

Получает полный путь к каталогу или файлу.

+0

Я был RTFM, около 20 минут, но поиск по ссылкам msdn может занять много времени. Цель этого сайта - ПОМОЧЬ людям, которые не так хорошо осведомлены. Не снисходительный член. –

+0

На самом деле, MSDN - это * ссылка *: он предназначен, чтобы помочь вам, когда вы уже знаете, где *, чтобы найти то, что вы ищете. Если вы не чувствуете, что достаточно хорошо осведомлены, вы должны выйти и купить книгу на .NET, которая имеет более широкий обзор и указывает на разные классы. Эти два и Google представляют собой три дополнительных представления одной и той же информации. –

Смежные вопросы