Bonjour,
J'ai un petit soucie lors de ma lecture de fichier. Je souhaite pouvoir lire un entier dans mon fichier qui se trouve � la fin.
J'ai donc utilis� la fonction ifstream pour ouvrir le fichier en lecture puis utilis� la fonction seekg() pour pouvoir lire � partir de la fin.
Mon r�el probl�me est de savoir � partir de o� commencer la lecture (soit le premier param�tre de la fonction seekg() avec ios::end en second param�tre).
Voi�i mon code :
J'ai pris le nombres de caract�res en partant de la fin pour premier param�tre de ma fonction seekg() est-ce une erreur?
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 int main() { ifstream fichier("CATREL", ios::in ); // on ouvre en lecture if(fichier) // si l'ouverture a fonctionné { int entier1; fichier.seekg(87, ios::end); fichier>>entier1; cout << entier1 << endl; fichier.close(); } else cerr << "Impossible d'ouvrir le fichier !" << endl; system("pause"); return 0; }
J'ai en r�sultat :
-858993460 (adresse m�moire?)
et voici un exemple du fichier � lire :
0411206 20053EUR2E9250114774662310712 310712PREL. FACTURATION 0000000000816O
0711206 20053EUR2 92501147746 310712NOUVEAU SOLDE 0000002546949H
0111206 20053EUR2 99861630874 300712 ** PAS DE MOUVEMENT CE JOUR ** 0000000000000{
0711206 20053EUR2 99861630874 010812 ------------------------------ 0000000000000{
La valeur en rouge est celle que je dois r�cup�rer et comparer � la date syst�me -1.
Merci de vos r�ponses.
Emilien.
Partager