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

Метод to_string_lossy

Метод to_string_lossy преобразует путь в строку типа Cow<str>. Если путь содержит корректные UTF-8 последовательности, возвращается заимствованная строка без копирования. Если же в пути есть некорректные байты, они заменяются на символ замены U+FFFD, и создаётся новая строка. Параметров метод не принимает.

Синтаксис

path.to_string_lossy()

Пример

Давайте преобразуем обычный путь в строку:

use std::path::Path; fn main() { let path = Path::new("/home/user/abcde.txt"); let res = path.to_string_lossy(); println!("{}", res); }

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

"/home/user/abcde.txt"

Пример

Давайте преобразуем относительный путь:

use std::path::Path; fn main() { let path = Path::new("12345/abcde"); let res = path.to_string_lossy(); println!("{}", res); }

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

"12345/abcde"

Пример

Давайте преобразуем путь с некорректными UTF-8 байтами. На Unix-системах можно создать такой путь через OsStr:

use std::path::Path; use std::os::unix::ffi::OsStrExt; use std::ffi::OsStr; fn main() { let bytes = b"abcde\xFF\xFE.txt"; let os_str = OsStr::from_bytes(bytes); let path = Path::new(os_str); let res = path.to_string_lossy(); println!("{}", res); }

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

"abcde��.txt"

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

  • метод to_str,
    который преобразует путь в Option<&str> без потери данных
  • метод display,
    который возвращает тип для форматированного вывода пути
  • метод as_os_str,
    который возвращает ссылку на OsStr
  • метод to_path_buf,
    который создаёт собственную копию пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить