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

Трейт std::fmt::Write

Трейт std::fmt::Write определяет интерфейс для записи форматированного текста в буфер или поток вывода. Он широко используется совместно с макросами write! и writeln! для записи данных в строки, файлы и другие устройства вывода. Основным методом трейта является write_str, который принимает строковый срез и записывает его в целевой буфер, возвращая результат типа fmt::Result. Помимо этого, трейт предоставляет методы write_char и write_fmt для записи одиночного символа и форматированной строки соответственно.

Синтаксис

use std::fmt::Write; fn write_str(&mut self, s: &str) -> fmt::Result; fn write_char(&mut self, c: char) -> fmt::Result; fn write_fmt(&mut self, args: Arguments) -> fmt::Result;

Пример

Давайте запишем форматированную строку в объект String с помощью макроса write!:

use std::fmt::Write; fn main() { let mut res = String::new(); write!(res, "abcde {}", 12345).unwrap(); println!("{}", res); }

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

"abcde 12345"

Пример

Давайте воспользуемся методом write_str напрямую, чтобы добавить строку в буфер:

use std::fmt::Write; fn main() { let mut res = String::new(); res.write_str("abcde").unwrap(); res.write_str("12345").unwrap(); println!("{}", res); }

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

"abcde12345"

Пример

Давайте запишем одиночный символ с помощью метода write_char:

use std::fmt::Write; fn main() { let mut res = String::new(); res.write_char('a').unwrap(); res.write_char('b').unwrap(); res.write_char('c').unwrap(); println!("{}", res); }

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

"abc"

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

  • макрос write!,
    который записывает форматированную строку в буфер
  • макрос writeln!,
    который записывает форматированную строку с переводом строки
  • трейт Write,
    который является частью модуля ввода-вывода
  • метод flush,
    который сбрасывает буфер вывода
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить