上QQ阅读APP看书,第一时间看更新
3.3 从命令行输入
对于一个命令行程序来说,除了能够输出以外,还应该具有从外界接收输入的能力。
以上程序是一段C语言程序,它让用户输入两个数字,并输出这两个数字的和。
在Rust中,“std::io::stdin”代表了标准输入流,可以通过它获取从命令行输入的文字或其他数据。
use std::io::stdin; fn main() { let mut str_buf = String::new(); stdin().read_line(&mut str_buf).unwrap(); println!("Your input line is \n{}", str_buf); }
以上程序的作用是从命令行读取一行字符串,然后把它打印出来。
use std::io::stdin; fn main() { let mut str_buf = String::new(); stdin().read_line(&mut str_buf).unwrap(); let sp: Vec<&str> = str_buf.as_str().split(' ').collect(); let a = sp[0].trim().parse::<i32>().unwrap(); let b = sp[1].trim().parse::<i32>().unwrap(); println!("{}+{}={}", a, b, a + b); }
在上面的程序中,将读取的一行文字按空格拆分成两部分,然后识别成数字,再将它们的和输出。这实现了开头的C语言程序实现的功能。这段程序到目前为止与许多的语法现象没有被解释,所以可以不完全理解它,但可以通过它了解相关需求的实现方式。