РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
874 of 1245 menu

Метод to_path_buf

Метод to_path_buf создаёт и возвращает новое значение типа PathBuf на основе текущего среза пути Path. Параметров метод не принимает. Метод полезен, когда нужно получить владеющий путь, который можно изменять, хранить дольше времени жизни исходного среза или передавать в функции, требующие PathBuf.

Синтаксис

path.to_path_buf()

Пример

Давайте создадим PathBuf из среза пути "/home/user/file.txt" и выведем его на экран:

use std::path::Path; fn main() { let path = Path::new("/home/user/file.txt"); let path_buf = path.to_path_buf(); println!("{:?}", path_buf); }

Результат выполнения кода:

"/home/user/file.txt"

Пример

Давайте получим PathBuf из пути и добавим к нему ещё один компонент через метод push:

use std::path::Path; fn main() { let path = Path::new("/home/user"); let mut path_buf = path.to_path_buf(); path_buf.push("documents"); println!("{:?}", path_buf); }

Результат выполнения кода:

"/home/user/documents"

Пример

Давайте сравним исходный Path и полученный из него PathBuf, а также проверим их равенство:

use std::path::Path; fn main() { let path = Path::new("12345/abcde"); let path_buf = path.to_path_buf(); println!("{:?}", path); println!("{:?}", path_buf); println!("{}", path == path_buf.as_path()); }

Результат выполнения кода:

"12345/abcde" "12345/abcde" true

Смотрите также

  • класс Path,
    который представляет заимствованный срез пути
  • метод to_str,
    который возвращает строковое представление пути
  • метод to_string_lossy,
    который возвращает строку с заменой некорректных символов
  • метод join,
    который присоединяет компонент к пути и возвращает PathBuf
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить