É possível canonizar uma string de caminho de arquivo contendo o diretório atual ( .
) com um diretório fornecido. Por exemplo, caminho de arquivo => ./abcd.txt
, diretório fornecido => /a/b/c
. O resultado esperado do caminho de arquivo resultante é /a/b/c/abcd.txt
.
fn main() {
let file_path = "./abcd.txt";
let cur_dir = "/a/b/c";
let path = std::fs::canonicalize(file_path).unwrap();
println!("{:#?}", path);
}
Saída
thread 'main' panicked at src/main.rs:5:49:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace