:?:
Comment faites-on pour lire deux fichier et les placer dans un vector.
Il faut que je place dans le vector l'objet x trouvé dans le deuxième fichier. Comment fait-on.
Version imprimable
:?:
Comment faites-on pour lire deux fichier et les placer dans un vector.
Il faut que je place dans le vector l'objet x trouvé dans le deuxième fichier. Comment fait-on.
c'est de la sérialisation (voir FAQ) ou juste de la copie de texte ?Citation:
Envoyé par belukrin
un vector de quoi ?
:) Le but est faire comme dans l'exemple qui suit mais abvec deux fichier dans un seul vector.
Bigboomshakala : avec les balises code c'est mieux, merciCode:
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
45
46
47
48
49
50
51
52
53
54
55 public class VectStations { static Vector lireRemplir(String nomFichier) throws IOException { final int MAX_STAT = 70; // au maximum 70 stations Vector v = new Vector(MAX_STAT); // vide au début boolean existeFichier = true ; // à ajuster après FileReader fr = null; // initialiser pour Java // essayer de LOCALISER le fichier à partir de son nom try { fr = new FileReader (nomFichier) ; } // intercepter l'erreur si le fichier n'existe pas catch ( java.io.FileNotFoundException erreur) { System.out.println("Probleme d'ouvrir le fichier " + nomFichier); existeFichier = false ; // ajuster } if (existeFichier) { // construire l'objet d'entrée qui va permettre // d'appliquer la lecture d'une ligne de texte BufferedReader entree = new BufferedReader(fr); boolean finFichier = false ; while ( !finFichier ) { // lire une ligne String uneLigne = entree.readLine(); if (uneLigne == null) finFichier = true ; else { v.add(new Station(uneLigne)); } } entree.close(); } return v; } public static void main(String[] args) throws IOException { Vector stat = lireRemplir("R:\\Metro.txt"); } }
en résumé tu as un fichier avec N lignes et tu veux remplir un vecteur avec les lignes du fichier.
ensuite tu veux ajouter au vecteur une ligne supplémentaire contenu dans le deuxième fichier.
:) Tu as tout compris sauf que je ne veux pas ajouter une ligne supplémentaire au vector mais un élément supplémentaire à la ligne déja ajouter.
Pour charger un fichier dans un vector<string>:
http://c.developpez.com/faq/cpp/?pag...ture_par_ligne
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 std::ifstream fichier( "fichier.txt" ); if ( fichier ) // ce test échoue si le fichier n'est pas ouvert { vector<string> v; // vector std::string ligne; // variable contenant chaque ligne lue // cette boucle s'arrête dès qu'une erreur de lecture survient while ( std::getline( fichier, ligne ) ) { v.push_back( line ); } }