Path and Filesystem Models
Set Path Extension
Retarget an Output File
PathBuf can update path-shaped data in memory before a program decides where to write.
Program
Play the program to choose an output extension and update the report path.
set_path_extension.rs
use std::path::PathBuf;
fn main() {
let extension = ;
let mut path = PathBuf::from("report.tmp");
path.set_extension(extension);
println!("{}", path.display());
}
use std::path::PathBuf;
fn main() {
let extension = ;
let mut path = PathBuf::from("report.tmp");
path.set_extension(extension);
println!("{}", path.display());
}
use std::path::PathBuf;
fn main() {
let extension = ;
let mut path = PathBuf::from("report.tmp");
path.set_extension(extension);
println!("{}", path.display());
}
PathBuf
`PathBuf` owns path-shaped data and can be modified.
set_extension
`set_extension` replaces the filename extension in place.
model first
This example models path selection without performing filesystem writes.