Comment convertir PathBuf en String en Rust : guide complet
Salut les collègues ! J’ai récemment commencé à apprendre Rust et j’ai rencontré un problème en travaillant avec le système de fichiers. J’ai besoin d’obtenir le chemin absolu d’un fichier, puis de le stocker sous forme de chaîne ordinaire pour un traitement ultérieur (par exemple, pour le passer en JSON ou pour la journalisation).\n\nVoici mon code :\n\n```rust\nuse std::path::PathBuf;\nuse std::env;\n\nfn main() {\n let mut path = env::current_dir().unwrap();\n path.push("config.toml");\n \n // Je veux obtenir une chaîne, mais je n’y arrive pas\n let path_str: String = path; // Erreur !\n println!("Chemin : {}", path_str);\n}\n```\n\nLe compilateur donne une erreur : `expected String, found PathBuf`. Je comprends que `PathBuf` et `String` sont des types différents, mais comment les convertir ? J’ai essayé la méthode `.to_str()`, mais elle retourne `Option<&str>`, alors que j’ai besoin d’une `String`.\n\nDes conseils ?
No answers yet.
Connectez-vous pour laisser une réponse