我想从标准输入中读取一行并将其存储在字符串变量中,然后将字符串值解析为u32整数值。read_line()方法会读取2个额外的UTF-8值,这会导致parse方法出错。
以下是我尝试裁剪回车和换行符的代码:
use std::io;
use std::str;
fn main() {
let mut input = String::new();
match io::stdin().read_line(&mut input) {
Ok(n) => {
println!("{:?}", input.as_bytes());
println!("{}", str::from_utf8(&input.as_bytes()[0..n-2]).unwrap());
}
Err(e) => {
println!("{:?}", e);
}
}
}
这在Rust中最惯用的方法是什么?
lines()
迭代器,它会自动去掉换行符。 - Sven Marnach