gpt4 book ai didi

rust - 如何将从 env::current_exe() 获取的文件路径转换为字符串或 str?

转载 作者:行者123 更新时间:2023-11-29 08:26:17 26 4
gpt4 key购买 nike

<分区>

在获取可执行文件的文件路径并在 inner_main() 中附加 nvs 之后,我尝试在 main() 中将其转换为字符串:

use std::{env, io, path::PathBuf, process};

fn inner_main() -> io::Result<PathBuf> {
let exe = env::current_exe()?;
let dir = exe.parent().expect("Executable must be in some directory");
let dir = dir.join("nvs");
Ok(dir)
}

fn main() {
let path = inner_main() as String;
println!("The current directory is {:?}", path);
process::exit(0);
}

它会导致错误:

error[E0605]: non-primitive cast: `std::result::Result<std::path::PathBuf, std::io::Error>` as `std::string::String`
--> src/main.rs:11:16
|
11 | let path = inner_main() as String;
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait

我该如何将其转换为 String&str

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com