Voila mon problème :
Que font exactement les lignes en gras ? Que vient faire sizeof(int) * (num-1) ?
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 const int LGMAX_NOM_FICH = 20; #include <stdlib.h> #include <fstream> #include <iomanip> #include <iostream> using namespace std; main() { char nomfich [LGMAX_NOM_FICH + 1]; int n, num; cout << "nom du fichier à consulter : "; cin >> setw (LGMAX_NOM_FICH) >> nomfich; ifstream entree (nomfich, ios::in); if (!entree) { cout << "Ouverture impossible\n"; exit(1); } do { cout << "Numéro de l'entier recherché : "; cin >> num; if (num) { entree.seekg (sizeof(int) * (num-1), ios::beg); entree.read ( (char *) &n, sizeof(int) ); if (entree) cout << "-- Valeur : " << n << "\n"; else { cout << "-- Erreur\n"; entree.clear (); } } } while (num); entree.close (); }
Merci![]()
Partager