2个不稳定版本
0.2.0 | 2021年7月27日 |
---|---|
0.1.0 | 2021年7月27日 |
#170 in Windows API
17KB
525 行
Windows命令行作为字符串传递给应用程序。为了获取参数数组,需要解析这个字符串,这正是这个crate所做的事情。然后可以使用这些参数列表来由更高级别的参数解析器使用。
它使用最新的C/C++解析规则,以确保与使用C/C++程序中的argv
一致。
使用
将此内容添加到您的Cargo.toml
文件
[dependencies.winarg]
version = "0.2.0"
示例
for arg in winarg::args_native().skip(1) {
if arg == "--help" {
println!("help me!");
}
}
lib.rs
:
Windows命令行作为字符串传递给应用程序。为了获取参数数组,需要解析这个字符串,这正是这个crate所做的事情。然后可以使用这些参数列表来由更高级别的参数解析器使用。
它使用最新的C/C++解析规则,以确保与使用C/C++程序中的argv
一致。
使用
将此内容添加到您的Cargo.toml
文件
[dependencies.winarg]
version = "0.2.0"
示例
使用null_separated_list
创建一个单个缓冲区来存储参数列表
let args: String = winarg::null_separated_list().collect();
for arg in args.split('\0') {
println!("{}", arg);
}
使用args_native
迭代参数而不分配
for arg in winarg::args_native().skip(1) {
if arg == "--help" {
println!("help me!");
}
}
[struct@Parser
]可用于创建自定义结构。例如
let mut parser = winarg::Parser();
// Skip the zeroth argument.
for t in &mut parser {
if t.is_next_arg() { break; }
}
// Collect the rest into a UTF-16 encoded vector.
let args: Vec<u16> = parser.map(|t| t.as_u16() ).collect();