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

Метод read_line

Метод read_line читает одну строку из входного потока и добавляет её в конец переданного буфера типа String. Строка читается вместе с символом перевода строки "\n", если он присутствует. Метод возвращает значение типа io::Result<usize>, содержащее количество прочитанных байт. Параметром метод принимает изменяемую ссылку на строку, в которую будет записана прочитанная строка.

Синтаксис

bufread.read_line(&mut string)

Пример

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

use std::io::BufRead; fn main() { let stdin = std::io::stdin(); let mut line = String::new(); stdin.read_line(&mut line).unwrap(); println!("{}", line); }

Если пользователь введёт "abcde" и нажмёт Enter, результат выполнения кода будет таким:

"abcde"

Пример

Давайте прочитаем строку из BufReader, созданного на основе байтового среза, и посмотрим, что строка содержит символ перевода строки:

use std::io::BufRead; use std::io::BufReader; fn main() { let data = "12345\n"; let mut reader = BufReader::new(data.as_bytes()); let mut line = String::new(); let n = reader.read_line(&mut line).unwrap(); println!("bytes: {}", n); println!("line: {:?}", line); }

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

bytes: 6 line: "12345\n"

Пример

Давайте прочитаем несколько строк из BufReader в цикле, пока метод не вернёт 0:

use std::io::BufRead; use std::io::BufReader; fn main() { let data = "abcde\n12345\n"; let mut reader = BufReader::new(data.as_bytes()); loop { let mut line = String::new(); let n = reader.read_line(&mut line).unwrap(); if n == 0 { break; } println!("{}", line.trim_end()); } }

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

"abcde" "12345"

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

  • метод lines,
    который возвращает итератор по строкам входного потока
  • метод read_line,
    который читает строку из стандартного ввода
  • метод read_to_string,
    который читает всё содержимое в строку
  • структура BufReader,
    которая реализует буферизованное чтение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить