Как в Rust читать символ за символом из текстового файла?

Мне нужно читать из текстового файла символ за символом, как это сделать в Rust без libc и системных вызовов ?


Ответы (1 шт):

Автор решения: Антон

Структура BufReader реализует типаж BufRead, который наследует Read, в котором есть метод read:

use std::io::BufRead;
use std::io::BufReader;
use std::fs::File;
use std::io::Read;

fn main() {
    let f = File::open("input.kt").expect("open() failed");
    let mut reader = BufReader::new(f);

    let mut buffer = [0; 1];
    loop {
        match reader.read(&mut buffer) {
            Ok(x) => {
                if x != 0 {
                    println!("{}", buffer[0] as char)
                }
                else {
                    break;
                }
            }
            Err(y) => panic!("read() failed"),
        };
    }
}
→ Ссылка