Command line arguments by reference =================================== [github](https://github.com/dtolnay/argv) [crates.io](https://crates.io/crates/argv) [docs.rs](https://docs.rs/argv) [build status](https://github.com/dtolnay/argv/actions?query=branch%3Amaster) The standard library's [`std::env::args_os`] iterator produces an owned string (`OsString`) for each argument. In some use cases it can be more convenient for the arguments to be produced by static reference (`&'static OsStr`). [`std::env::args_os`]: https://doc.rust-lang.org/std/env/fn.args_os.html ```toml [dependencies] argv = "0.1" ``` ## Example ```rust fn main() { for arg in argv::iter() { // arg is a &'static OsStr. println!("{}", arg.to_string_lossy()); } } ``` ## Portability This crate is intended to be used on Linux and macOS, on which command line arguments naturally live for the duration of the program. This crate implements the same API on other platforms as well, such as Windows, but leaks memory on platforms other than Linux and macOS.
#### License Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.