< 返回版块

ilp64 发表于 2019-11-26 10:23

Tags:structopt clap

我写了一个从命令行接受字符串,然后输出unicode的程序,代码如下

use structopt::StructOpt;

#[derive(Debug, StructOpt)]
#[structopt(name = "string to unicode")]
struct Opt {
    source: String
}

fn main() {
    let opt: Opt = Opt::from_args();
    println!("{}", opt.source.escape_unicode().collect::<String>());
}

cargo run -- abc这样使用起来没有什么问题,但是如果参数前面是有-前缀的话,就会出问题了,比如cargo run -- "-abc"structopt会把-a当成一个选项处理,提示如下

error: Found argument '-a' which wasn't expected, or isn't valid in this context

USAGE:
    s2u <source>

For more information try --help

请问各位大佬们,这种情况该如何处理

评论区

写评论
作者 ilp64 2019-11-26 13:46

好使,多谢大佬😊

对以下内容的回复:

simoin 2019-11-26 11:33
cargo run -- -- -abc
1 共 2 条评论, 1 页