use std::io::{stdin, Read};
fn main(){
let mut nums= Vec::new();
stdin().read(&mut nums[..]).expect(" ");
println!("{:?}", nums)
}
并且 o 需要在输入 1 23 123 时,编译器输出 [1, 23, 123]
我尝试确定矢量的大小:
use std::io::{stdin, Read};
fn main(){
let mut nums = vec![0; 10]
stdin().read(&mut nums[..]).expect(" ");
println!("{:?}", nums)
}
limits the size of my vector and outputs some nonsense
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let nums: Vec<i32> = input
.split_whitespace()
.map(|num| num.parse().expect("Not an integer"))
.collect();
println!("{:?}", nums);
}
此代码将从标准输入中读取一行,将其拆分为以空格分隔的部分,尝试将每个部分解析为 i32,并将结果收集到向量中。如果输入 1 23 123,它将正确输出 [1, 23, 123]。