我试图用一个简单的程序测试我的Rust技能,该程序从一行输入中读取多个整数.它编译正确,但不幸的是,当它收到输入时1 2 3,它会发生恐慌,说输入不是有效的整数.有人可以解释一下这个的原因,并解释我如何修复我的程序?
use std::io;
fn main() {
let mut string = String::new();
io::stdin().read_line(&mut string);
let int_vec: Vec<u32> = string.split(" ")
.map(|x| x.parse::<u32>().expect("Not an integer!"))
.collect();
for i in (0..int_vec.len()).rev() {
print!("{} ", int_vec[i]);
}
}
Run Code Online (Sandbox Code Playgroud) 嘿,所以最近我尝试获取我的C++程序来接受参数"-f"(它有助于创建用户可以输入的数据文件),所以我尝试了典型的if语句:
if (argv[1] == "-f") { cout << "Please input a file name:" << endl;}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它似乎没有用.代码注册"-f"是要添加到argc的参数,它只是不想检查它是否正确"-f".我甚至试过atoi将"f"更改为102并通过整数检查它,但它似乎似乎没有工作.感谢您的时间!