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

Метод into_os_string

Метод into_os_string преобразует значение типа PathBuf в значение типа OsString. Он потребляет исходный объект PathBuf и возвращает владеющую строку операционной системы, которая содержит тот же путь. Метод не принимает параметров.

В отличие от метода to_str, который возвращает опциональную строку &str и может завершиться ошибкой, если путь не является корректным UTF-8, метод into_os_string всегда успешно выполняется и возвращает OsString. Это делает его удобным для передачи пути в API операционной системы, которые ожидают именно OsString.

Синтаксис

path_buf.into_os_string()

Пример

Давайте создадим объект PathBuf и преобразуем его в OsString:

use std::path::PathBuf; fn main() { let path = PathBuf::from("/tmp/file.txt"); let os_string = path.into_os_string(); println!("{:?}", os_string); }

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

"/tmp/file.txt"

Пример

Давайте создадим PathBuf из строки "abcde", добавим к нему компонент через метод push, а затем преобразуем результат в OsString:

use std::path::PathBuf; fn main() { let mut path = PathBuf::from("abcde"); path.push("12345"); let os_string = path.into_os_string(); println!("{:?}", os_string); }

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

"abcde/12345"

Пример

Давайте убедимся, что после вызова into_os_string исходный PathBuf больше недоступен, так как метод потребляет его:

use std::path::PathBuf; fn main() { let path = PathBuf::from("/tmp/file.txt"); let os_string = path.into_os_string(); let len = os_string.len(); println!("{}", len); }

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

14

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

  • класс PathBuf,
    который представляет владеющий путь в файловой системе
  • метод new,
    который создаёт новый пустой объект PathBuf
  • метод from,
    который создаёт PathBuf из строки или OsString
  • метод push,
    который добавляет компонент к пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить