bonjour à tous,
Je souhaite lire le nombre de lignes d'un fichier plus d'une fois.La 2e fois ce nombre est nul!!
(Je sais il y a trop de gotos)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 //Fc LirFh-lire un fh #include <iostream> #include <fstream> #include <string> using namespace std; string zer; string FcLirFh(string LirFh,string & ExtLignD) {//déb Fc ifstream LirFhNbL(LirFh.c_str(),ios::in); menuLirFh: string Lir;int nblig=0; while (getline(LirFhNbL,Lir)) //pourquoi cette boucle n'est relue? {nblig++;}//nbr lignes LirFhNbL.close(); ifstream LirFhL(LirFh.c_str(),ios::in); int zer,cpt=0,cpt3=0; system ("cls"); cout<<"nbl "<<nblig<<endl; cout<<"Lecture de "<<LirFh<<endl; cout<<"0/sortie"<<endl; cout<<"3/tout d'un coup"<<endl; cout<<"9/nlle recherche "<<endl; cout<<"nbl "<<nblig<<endl; cin>>cpt; if (cpt==0) {goto finLirFh;} switch (cpt) {//swcpt case 3: cout<<"TOUT d'un coup "<<endl; cout<<"nbl "<<nblig<<endl; while (getline(LirFhL,Lir)) { cpt3++; cout<<cpt3<<" /"<<nblig<<" "<<Lir<<endl; } LirFhL.close(); cout<<"num."<<"/nbl "<<"sera à zéro aux tours suivants"<<endl; cout<<"9/retour menu";cin>>cpt3; if (cpt3==9) {goto menuLirFh;} break; case 9: system("cls"); {goto menuLirFh;} break; default: break; }//sw finLirFh: ExtLignD=Lir; return Lir;//ExtLignD; }//Fin Fc //programme d'essai string cheminrep="c:\\dev-cpp\\"; string FhAlir="CLrf2011.rtf";//le fichier à lire ici une ligne int zerr; int main() { string LirFh=cheminrep+FhAlir; string Lir; string LirLir=FcLirFh(LirFh,ExtLignD); //Fc fh à lire cout<<"0/s ";cin>>zer; }
Quelle(s) instruction(s) manque(nt)?
Mes remerciements pour la solution.
Sen.
Partager