Comment convertir une chaîne de caractères (String ou &str) en nombre (int) en Rust ?
Bonjour à tous ! Je viens de commencer à apprendre Rust, je viens de Python, et j'ai rencontré un problème qui m'a laissé perplexe. Je dois lire un nombre depuis l'entrée standard ou depuis un fichier texte et effectuer des opérations arithmétiques avec.
En Python, cela se fait en une ligne : `number = int(input())`. Mais en Rust, j'obtiens des erreurs de compilation.
Voici mon code qui ne fonctionne pas :
```rust
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input)
.expect("Impossible de lire la ligne");
let number: i32 = input; // Erreur ! Incompatibilité de types
println!("Nombre saisi : {}", number + 10);
}
```
Le compilateur génère une erreur : `expected i32, found struct String`. Je comprends que `read_line` retourne une chaîne, pas un nombre. Mais comment la convertir ?
J'ai essayé d'utiliser `parse()`, mais j'obtiens une autre erreur : `error[E0282]: type annotations needed`. Quelqu'un peut-il expliquer la bonne façon de convertir une chaîne en entier ?
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Clean Code en Java : principes d'écriture de code propre avec exemples
Client HTTP en C++ : faire des requêtes correctement de A à Z
Travailler avec WebAssembly et Go : techniques avancées et optimisation
CrudRepository vs JpaRepository : Top erreurs et comment les éviter