J'ai cherche un peu partout mais je n'ai pas trouve de reponses a mon probleme.![]()
Je cherche a parcourir un fichier de la premiere ligne a la derniere et ce un certain de nombre de fois.
Le probleme c'est qu'une fois atteint la fin du fichier, je ne parviens pas a me repositionner sur au debut. En effet, une fois atteinte (et probablement depassee) la fin de fichier, le pointeur prend la valeur -1. Ensuite impossible de se repositionner au debut du fichier.
J'imagine qu'en fermant et ouvrant le fichier une 2ieme fois, ca pourrait resoudre mon probleme. Probablement aussi pourrais je utiliser un buffer pour lire une fois le fichier et ensuite parcourir ce buffer a loisir.
Mais avant de passer a ces solutions, quelqu'un peut il m'expliquer pourquoi ce que j'ai fait ne fonctionne pas.
D'avance merci de me permettre de mourir moins bete!
Voici le code :
PS: Desole, s'il manque des accents, mais j'utilise un clavier QWERTY.
Code : 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 #include <cstdlib> #include <string> #include <fstream> #include <iostream> using namespace std; int main(int argc, char *argv[]) { string line1, line2; ifstream file1, file2; // Open Files file1.open( argv[1], ios::binary); file2.open( argv[2], ios::binary); // While Not EOF file1 while (! file1.eof() ) { getline (file1,line1); file2.seekg( 0, ios::beg); //Better than test EOF ??? while( getline( file2, line2) ) { if (line1 == line2) { cout << line1 << endl; } } } file1.close(); file2.close(); return EXIT_SUCCESS; }
Partager