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

Класс OsStr

Класс OsStr представляет собой срез строки операционной системы. Он используется для работы с платформенно-зависимыми строками, которые могут содержать данные, не являющиеся корректным UTF-8. OsStr чаще всего встречается как заимствованная форма типа OsString и широко применяется в функциях стандартной библиотеки, связанных с файловой системой, переменными окружения и аргументами командной строки.

Основное преимущество OsStr перед str заключается в том, что он способен хранить любые данные, допустимые операционной системой, включая последовательности байтов, которые не являются валидным UTF-8.

Синтаксис

// Создание среза OsStr из OsString let os_str: &OsStr = os_string.as_os_str(); // Создание из строкового литерала let os_str: &OsStr = OsStr::new("abcde");

Пример

Давайте создадим OsStr из строкового литерала и выведем его длину в байтах:

use std::ffi::OsStr; fn main() { let os_str = OsStr::new("abcde"); println!("{:?}", os_str); println!("{}", os_str.len()); }

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

"abcde" 5

Пример

Давайте создадим OsStr из OsString и проверим, является ли он пустым:

use std::ffi::{OsStr, OsString}; fn main() { let os_string = OsString::from("12345"); let os_str: &OsStr = os_string.as_os_str(); println!("{}", os_str.is_empty()); println!("{}", os_str.len()); }

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

false 5

Пример

Давайте преобразуем OsStr в обычную строку str с помощью метода to_str:

use std::ffi::OsStr; fn main() { let os_str = OsStr::new("abcde"); match os_str.to_str() { Some(s) => println!("{}", s), None => println!("not valid UTF-8"), } }

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

"abcde"

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

  • метод to_str,
    который преобразует OsStr в обычную строку str
  • метод to_string_lossy,
    который преобразует OsStr в String с заменой невалидных символов
  • класс String,
    который представляет собой изменяемую UTF-8 строку
  • метод from,
    который создаёт String из различных типов данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить