Avatar ·

Comment exécuter une commande système et obtenir sa sortie en Rust ?

Bonjour à tous ! Je suis débutant en Rust et j'essaie d'exécuter une commande système simple, par exemple `ls -la`, et d'obtenir sa sortie sous forme de chaîne. En Python, je ferais `subprocess.check_output(...)`, mais ici rien ne fonctionne. J'essaie comme ça : ```rust use std::process::Command; fn main() { let output = Command::new("ls") .arg("-la") .output() .expect("failed to execute process"); println!("{}", output.stdout); } ``` Mais dans la console, ça affiche quelque chose comme `[115, 116, 114, ...]` — des nombres, pas du texte lisible. J'ai essayé d'ajouter `.to_string()`, mais le compilateur râle. J'ai aussi entendu parler de `std::process::Output`, mais je ne comprends pas comment en extraire le texte. Indiquez-moi comment exécuter correctement la commande et obtenir sa sortie sous forme de chaîne ? De préférence avec une gestion des erreurs — que faire si la commande est introuvable ou se termine avec un code non nul. Merci d'avance ! <<>>

Problème principal : octets vs chaîne

Vous avez presque tout fait correctement