pub fn args_os() -> ArgsOs ⓘ
Expand description
返回此程序开始的参数 (通常通过命令行传递)。
第一个元素传统上是可执行文件的路径,但它可以设置为任意文本,甚至可能不存在。
这意味着出于安全目的,不应依赖此属性。
在 Unix 系统上,shell 通常使用 glob 模式 (例如 *
和 ?
) 来扩展不带引号的参数。
在 Windows 上,这没有完成,并且此类参数按原样传递。
在 glibc Linux 系统上,可以通过在 .init_array
中放置一个函数来检索参数。
glibc 将 argc
、argv
和 envp
作为非标准扩展传递给 .init_array
中的函数。
这使得 std::env::args_os
甚至可以在 cdylib
或 staticlib
中工作,就像在 macOS 和 Windows 上一样。
请注意,返回的迭代器不会检查进程的参数是否为有效的 Unicode。
如果您想在无效的 UTF-8 上使用 panic,请改用 args
函数。
Examples
use std::env;
// 在单独的行上打印每个参数
for argument in env::args_os() {
println!("{argument:?}");
}
Run