FolderBrowserDialog последнее имя папки

Я новичок в C++/CLI, и у меня есть вопрос о функции FolderBrowserDialog.

Использование ->SelectedPath дает мне "C:\Folder\Subfolder\Selected Folder"

Как я могу сохранить ТОЛЬКО «Выбранную папку» в строку?

FolderBrowserDialog^ DestinationFolderDialog;
    DestinationFolderDialog = gcnew System::Windows::Forms::FolderBrowserDialog;

    System::Windows::Forms::DialogResult result = DestinationFolderDialog->ShowDialog();
    if (result == System::Windows::Forms::DialogResult::OK)
    {
        String^ path = DestinationFolderDialog->SelectedPath;
        SetDestinationPath(path);
        lblDestinationPath->Text = path;

    }

Как я установил свой путь назначения

И теперь я хочу работать с ним

String^ pathSource = GetSourcePath();
String^ pathDest = GetDestinationPath();

Я пытаюсь сгенерировать символические ссылки.
Поэтому я выбираю "Y:\Movies\Movie_a" в качестве источника
И я выбираю "X:\" в качестве места назначения для моей папки с символическими ссылками.

Чтобы создать его, мне нужно добавить "Movie_a" к "X:\"

Кто-нибудь может мне помочь?


person xQp    schedule 27.12.2016    source источник


Ответы (1)


Если вы хотите извлечь последнее имя каталога из C:\Folder\Subfolder\Selected Folder, вы можете:

  • используйте Path.GetFileName метод для получения последней части пути
  • вызовите String.Split с Path.PathSeparator и взять последний элемент массива

Обновлено в отношении комментария @LucasTrzesniewski

person Dusteh    schedule 27.12.2016
comment
Зачем изобретать велосипед? Просто используйте Path::GetFileName - person Lucas Trzesniewski; 27.12.2016
comment
я не могу заставить меня работать, я не знаю, не могли бы вы дать мне короткий пример, как разделить путь ‹br› String^ и сохранить его в массив? - person xQp; 27.12.2016
comment
Да, этот метод работает со строками и не может отличить файл от папки. - person Lucas Trzesniewski; 27.12.2016
comment
Если я просто использую String^ folder = Path::GetFileName(pathSource);, это не работает, оно говорит, что это должен быть класс или пространство имен. Что мне нужно добавить? - person xQp; 27.12.2016
comment
@LucasTrzesniewski Вы правы. Я только что рассматривал его как обычный текст, где на самом деле использование Path является лучшим решением. - person Dusteh; 27.12.2016