Avatar ·

如何在Rust中获取命令行参数?

你好!我刚开始学习Rust,遇到了一个问题。我正在编写一个小型控制台工具,它需要从命令行接收文件名和工作模式(例如"read"或"write")。在其他语言中,比如Python,我直接使用sys.argv,在C中使用argc/argv。但在Rust中,我不知道如何实现。 以下是我尝试过的代码: ```rust fn main() { let args = std::env::args(); println!("{:?}", args); } ``` 但这输出了一些奇怪的东西:`Args { inner: ["target/debug/myapp", "test.txt", "read"] }`。我如何获取单独的字符串,而不是这个难以理解的对象?以及如何检查传递了多少个参数? 我需要程序这样工作:`myapp test.txt read` — 读取文件,`myapp test.txt write` — 写入文件。如果参数少于两个,应该输出错误信息并退出。请告诉我如何在Rust中正确处理命令行参数?我听说过`clap` crate,但我想先...