面试题答案
一键面试在Rust中,可以使用std::path::PathBuf
来处理跨平台的文件路径。以下是实现代码:
use std::path::PathBuf;
fn get_full_path(file_name: &str) -> PathBuf {
let current_dir = std::env::current_dir().expect("Failed to get current directory");
let mut path = PathBuf::from(current_dir);
path.push(file_name);
path
}
你可以这样调用这个函数:
fn main() {
let file_name = "example.txt";
let full_path = get_full_path(file_name);
println!("Full path: {:?}", full_path);
}
解释:
std::env::current_dir()
获取当前工作目录,如果失败则expect
抛出错误。PathBuf::from(current_dir)
创建一个基于当前目录的PathBuf
实例。path.push(file_name)
将文件名追加到路径中,PathBuf
会根据当前操作系统使用正确的路径分隔符。