Тип OsString
Тип OsString - это владеющая строка, предназначенная
для хранения текстовых данных в том виде, в котором их
понимает операционная система. В отличие от String,
значение OsString не обязано быть корректным UTF-8,
что делает его незаменимым при работе с путями к файлам,
аргументами командной строки и переменными окружения.
Тип является аналогом String, но для платформенно-зависимых
строк, и часто используется вместе со срезом OsStr.
Создать значение OsString можно с помощью метода
OsString::from, метода OsString::new для пустой строки,
а также через метод into у типа String.
Синтаксис
use std::ffi::OsString;
OsString::new()
OsString::from(string)
Пример
Давайте создадим значение OsString из строки
"abcde" и выведем его на экран:
use std::ffi::OsString;
fn main()
{
let res = OsString::from("abcde");
println!("{:?}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте создадим пустое значение OsString
и добавим к нему данные методом push:
use std::ffi::OsString;
fn main()
{
let mut res = OsString::new();
res.push("abcde");
println!("{:?}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте преобразуем тип String в OsString
через метод into:
use std::ffi::OsString;
fn main()
{
let s = String::from("12345");
let res: OsString = s.into();
println!("{:?}", res);
}
Результат выполнения кода:
"12345"