Avatar ·

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

Bonjour, collègues ! J'ai commencé à apprendre Rust et j'écris un petit outil d'automatisation. J'ai besoin d'exécuter une commande système externe (par exemple, `ls -la` ou `git status`) et de lire sa sortie (stdout et stderr) directement dans le programme, afin de traiter les lignes ensuite. J'ai consulté la documentation du module `std::process::Command`, mais je n'arrive pas à capturer correctement la sortie. Voici ce que j'ai essayé : ```rust use std::process::Command; fn main() { let output = Command::new("ls") .arg("-la") .output() .expect("Impossible d'exécuter la commande"); println!("stdout: {}", output.stdout); println!("stderr: {}", output.stderr); } ``` Mais la console affiche quelque chose comme `stdout: [115, 111, 109, 101, 32, 116, 101, 120, 116]` — ce sont des bytes, pas une chaîne ! Comment obtenir un texte lisible ? Et que faire si la commande peut se terminer avec une erreur ? Je veux comprendre comment gérer correctement le statut de sortie et comment capturer stderr séparément. Merci d'avance pour votre aide.