Rust - как в цикле пройти по string slice?
Как для данного примера (возможно изначально подход нужен другой - не получение string slice из slice of bytes) читать построчно в цикле? Цикл нужен чтобы использовать regex для строки дальше.
use std::str;
fn main() {
let buf = &[0x41u8, 0x41u8, 0x42u8];
let s = match str::from_utf8(buf) {
Ok(v) => v,
Err(e) => panic!("Invalid UTF-8 sequence: {}", e),
};
println!("result: {}", s);
}
Ответы (1 шт):
Автор решения: Kalashnikov Alexander
→ Ссылка
use std::io::BufRead; // в этом трейте находится метод read_line
fn main() {
let buf = [0x41u8, 0x41u8, 0x42u8];
let mut s = String::new();
let mut reader = std::io::BufReader::new(&buf[..]); // &[u8] реализует trait std::io::Read
reader.read_line(&mut s).unwrap(); // здесь может потребоваться обработка ошибок
println!("result: {}", s);
}