< 返回版块

XYC-EXP 发表于 2019-06-28 21:08


fn main() {
    let x: String = Command::new("ls").arg("").output().unwrap().stdout.convert_to_string();
}

pub trait ToString {
    fn convert_to_string(self) -> String;
}

impl ToString for Vec<u8> {
    fn convert_to_string(self) -> String {
	let mut output = String::new();
	for each in self {
            let c = each as char;
	    output.push_str(&c.to_string());
	}
	output
    }
}

thread 'main' panicked at 'called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/result.rs:997:5

评论区

写评论
lxfind 2019-07-01 02:57

.arg("")相当于给这个命令添加了一个值为""的参数,于是ls就会去找一个名字叫做""的路径,自然找不到。如果你想要ls当前目录,要么不加任何参数(也就说说去掉.arg("")),或者加上.arg(".") 这里"."表示当前目录。

shaitao 2019-06-29 12:19

我猜你想写.arg(".")

kewan001 2019-06-28 22:49

在Windows 下运行的吗,Windows没有ls命令

在mac上测试,把去掉arg(""),不然什么也不会显示。

ywxt 2019-06-28 21:43

大概意思是ls這個命令找不到,具體我也不清楚

1 共 4 条评论, 1 页