bonjour à tous,
Je souhaite lire le nombre de lignes d'un fichier plus d'une fois.La 2e fois ce nombre est nul!!
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;
}
(Je sais il y a trop de gotos)
Quelle(s) instruction(s) manque(nt)?
Mes remerciements pour la solution.
Sen.