Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmFsLn 360 of 373 menu
◀ ▶

Чтение строк из файла в Rust

Строки читают по одной, и у каждой строки свой исход. Файл открывают на чтение, оборачивают в буфер и берут итератор строк. Каждый шаг итератора - отдельный результат: удача несет строку без символа перевода, сбой сообщает о проблеме чтения.

Подготовим файл с двумя строками и пройдем по ним:

use std::fs::File; use std::io::{self, BufRead, BufReader}; fn print_lines() -> io::Result<()> { let file = File::open("note.txt")?; let reader = BufReader::new(file); for line in reader.lines() { let text = line?; println!("{}", text); } Ok(()) } fn main() -> io::Result<()> { std::fs::write("note.txt", "alpha\nbeta\n")?; print_lines()?; Ok(()) }

Разбор одной строки через match выглядит так:

use std::fs::File; use std::io::{self, BufRead, BufReader}; fn main() -> io::Result<()> { let file = File::open("note.txt")?; let reader = BufReader::new(file); if let Some(first) = reader.lines().next() { match first { Ok(text) => println!("{}", text), Err(err) => println!("{}", err), } } Ok(()) }

Дан путь:

let path = "data/lines.txt";

Запишите три короткие строки, прочитайте их по одной и выведите каждую.

Дан путь:

let path = "note.txt";

Скажите, какой тип несет каждый элемент итератора строк.

Посчитайте строки в файле в цикле с знаком вопроса и выведите число.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить