Command line arguments by reference
===================================
[](https://github.com/dtolnay/argv)
[](https://crates.io/crates/argv)
[](https://docs.rs/argv)
[](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.