Rust 13: 命令行参数std::env::args()和标准输入std::io::stdin()

命令行参数

今天来简单说一说Rust中如何获取程序的入口参数,以及如何读取标准输入的问题。

创建测试项目

cargo new hello-cli

编辑src/main.rs,其中通过静态的std::env::args()函数调用得到程序的入口参数:

fn main() {
    use std::env::Args;
    let args: Args = std::env::args();

    println!("{:?}", args);
    for arg in args {
        println!("{:?}", arg);
    }
}

运行测试

在这里插入图片描述

可以看到,通过for arg in args遍历程序入口参数,第一个参数就是程序的路径

标准输入输出

标准输入

调用std::io::stdin()得到的Stdin关联到程序的标准输入设备。

Stdinread_line()方法,一次从标准输入读取一行内容,包括换行符

Stdin中实现了Read trait中的read_to_string()方法。调用该方法会一直读到文件末尾(EOF)才结束。
要在CLI命令行输入EOFWindows系统是CTRL+Z,Linux是CTRL+D

标准输出

可通过println!宏,将格式化后的字符串输出到标准输出设备。

// 调用标准输入读取输入信息
use std::io::Read;
use std::io::Stdin;
let mut buf = String::new();
let std_in: Stdin = std::io::stdin();
while std_in.read_line(&mut buf).is_ok() {
    if "exit\r\n" == buf {
        println!("Bye bye");
        break;
    } else {
        print!("{}", buf);
        buf.clear();
    }
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值