Bonjour à tous je suis toujours débutant en Rust car je l'apprend sur mon temps libre, et j'ai un problème de lifetime dont je n'arrive pas à résoudre l'issue
Voici mon code de novice. je souhaite récupérer les lignes dans un fichier texte (3e partie de mon code) afin de les placer dans un vecteur et là ... c'est le drame
Code Rust : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 use std::path::Path; use std::fs::File; use std::io::{prelude::*,BufReader,BufRead}; use std::io; use std::fs; fn main(){ //1 vérification de l'existence du fichier fichier_texte.txt let b = Path::new("fichier_texte.txt").is_file(); let mut taille_fichier = 0; let mut v_message = Vec::new(); //2 si le fichier existe on regarde sa taille if b { //utilisation des métadatas pour avoir la taille du fichier afin de savoir s'il contient des lignes let metadata = fs::metadata("fichier_texte.txt").expect("nop, didn't found!"); taille_fichier = metadata.len(); } //3 enfin si fichier n'existe pas, ou s'il est vide et on en crée un if !b || taille_fichier == 0 { let mut new_message= File::create("fichier_texte.txt").expect("nop, not work"); println!("Alors, quel est ton mot ?"); let mut entree = String::new(); io::stdin().read_line(&mut entree).expect("I can't read the entry"); write!(new_message,"{}",entree).expect("sorry dude!"); } //lecture des messages dans le fichier let reader = BufReader::new(File::open("fichier_texte.txt").expect("I can't do this")); for line in reader.lines() { for message_ligne in line.unwrap().split_whitespace() { // <-- temporary value dropped while borrowed v_message.push(message_ligne); // <-- temporary value dropped while borrowed // test de variable println!("word '{}'", message_ligne); } } }
Voila si quelqu'un peut m'aider à trouver et comprendre la solution je lui en serait très reconnaissant
Merci à vous![]()
Partager