Rust-命令行的输入输出

命令行参数

一般来说编译好的执行档都是透过命令行来制执有些时候需要读取一些命令行参数或是环境参数

程序输入的最基本形式事示通命令行

例如下面

for arg in  std::env::args() {
    println!("{}", arg)
}

这时候编译好的执行档名称如果是main在命令行执行

./main arg1 arg2 arg3

输出
./main
arg1
arg2
arg3

args标准库函式会返回命令行参数上的跌代器类别是Args并生成String值

第一个是程序名称包含路径其余都是参数指令

环境变数

输入输出的另一种形式通过环境变数

for env in std::env::vars() {
    println!("{:?}", env)
}

输出
("CARGO_HOME", "/playground/.cargo")
**("CARGO_MANIFEST_DIR", "/playground")
("CARGO_PKG_AUTHORS", "The Rust Playground")
("CARGO_PKG_DESCRIPTION", "")
("CARGO_PKG_HOMEPAGE", "")
("CARGO_PKG_LICENSE", "")
...**

刚刚是把每个环境变数都印出来假如要读取特定环境变数可以透过var函示指定key

println!("{:?}", std::env::var("envkey"));

既然能读取当然也能写入,下面就透过set_var函式来写入环境变数

std::env::set_var("setenvkey", "env_value");

println!("{:?}", std::env::var("setenvkey"));

输出
Ok("env_value")

命令行的输入

可以在程序启动後获取从键盘输入的一行字直到用户按下Enter键在输出

let mut line = String::new();

std::io::stdin().read_line(&mnt line);

println!("{}", line);

<<:  [Day30] 终於来到了这一天 ~ 第二次铁人赛完赛心得 && 梳理学习顺序

>>:  Powershell 入门之 policy

DAY16支持向量机演算法(续五)

昨天介绍完SMO并算出a,b,今天就要来算出w和标记在图上, 依照w的公式,我们可以得到下面程序: ...

Day 17 ( 中级 ) 立体空间 ( 三度空间 )

立体空间 ( 三度空间 ) 教学原文参考:立体空间 ( 三度空间 ) 这篇文章会介绍,如何在 Scr...

Day8 - 布署 GitHub 程序与串接聊天机器人 LINE Messaging API

GitHub 网址:https://github.com/ Heroku 网址:https://w...

最短路径问题 (7)

10.9 Chan’s APSP 演算法 我们今天来介绍一个 O(n^3 / log n) 时间复杂...