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

Класс Stdin

Stdin - это структура, представляющая дескриптор стандартного потока ввода (stdin). Она предоставляет доступ к глобальному буферу ввода программы. Получить экземпляр Stdin можно с помощью функции std::io::stdin. Основным методом класса является read_line, который читает строку из стандартного потока ввода и записывает её в переданный буфер типа String. Также класс предоставляет метод lock для получения блокировки и повышения производительности при множественном чтении.

Синтаксис

use std::io; let stdin = io::stdin(); stdin.read_line(&mut buffer)?;

Пример

Давайте прочитаем одну строку из стандартного ввода и выведем её на экран:

use std::io; fn main() { let mut buffer = String::new(); let stdin = io::stdin(); println!("Enter a line:"); stdin.read_line(&mut buffer).unwrap(); println!("You entered: {}", buffer.trim()); }

Результат выполнения кода (при вводе строки "abcde"):

Enter a line: abcde You entered: abcde

Пример

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

use std::io; fn main() { let stdin = io::stdin(); let mut lines = Vec::new(); println!("Enter two lines:"); for _ in 0..2 { let mut buffer = String::new(); stdin.lock().read_line(&mut buffer).unwrap(); lines.push(buffer.trim().to_string()); } println!("Lines: {:?}", lines); }

Результат выполнения кода (при вводе строк "abcde" и "12345"):

Enter two lines: abcde 12345 Lines: ["abcde", "12345"]

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

  • метод read_line,
    который читает строку из стандартного ввода
  • метод lock,
    который получает блокировку стандартного ввода
  • функция println!,
    которая выводит данные в стандартный поток вывода
  • структура BufRead,
    которая предоставляет буферизованное чтение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить