Function std::env::args_os

1.0.0 · source ·
pub fn args_os() -> ArgsOs 
Expand description

返回此程序开始的参数 (通常通过命令行传递)。

第一个元素传统上是可执行文件的路径,但它可以设置为任意文本,甚至可能不存在。

这意味着出于安全目的,不应依赖此属性。

在 Unix 系统上,shell 通常使用 glob 模式 (例如 *?) 来扩展不带引号的参数。 在 Windows 上,这没有完成,并且此类参数按原样传递。

在 glibc Linux 系统上,可以通过在 .init_array 中放置一个函数来检索参数。 glibc 将 argcargvenvp 作为非标准扩展传递给 .init_array 中的函数。 这使得 std::env::args_os 甚至可以在 cdylibstaticlib 中工作,就像在 macOS 和 Windows 上一样。

请注意,返回的迭代器不会检查进程的参数是否为有效的 Unicode。 如果您想在无效的 UTF-8 上使用 panic,请改用 args 函数。

Examples

use std::env;

// 在单独的行上打印每个参数
for argument in env::args_os() {
    println!("{argument:?}");
}
Run