Avatar ·

Cómo convertir PathBuf a String en Rust: guía completa

¡Hola, colegas! Recientemente empecé a aprender Rust y me encontré con un problema al trabajar con el sistema de archivos. Necesito obtener la ruta absoluta a un archivo y luego guardarla como una cadena normal para su posterior procesamiento (por ejemplo, pasarla a JSON o logging). Aquí está mi código: ```rust use std::path::PathBuf; use std::env; fn main() { let mut path = env::current_dir().unwrap(); path.push("config.toml"); // Quiero obtener una cadena, pero no puedo let path_str: String = path; // ¡Error! println!("Ruta: {}", path_str); } ``` El compilador da un error: `expected String, found PathBuf`. Entiendo que `PathBuf` y `String` son tipos diferentes, pero ¿cómo convertirlos? Probé el método `.to_str()`, pero devuelve `Option<&str>`, y yo necesito específicamente una `String`. Por favor, indíquenme cómo convertir correctamente `PathBuf` a `String`. ¿Hay algún inconveniente? ¿Quizás necesito manejar errores si la ruta contiene UTF-8 no válido? ¡Gracias de antemano!