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