Lire un fichier en C++ [Résolu]

Signaler
Messages postés
41
Date d'inscription
mercredi 27 février 2008
Statut
Membre
Dernière intervention
16 novembre 2008
-
Messages postés
41
Date d'inscription
mercredi 27 février 2008
Statut
Membre
Dernière intervention
16 novembre 2008
-
bonjour;
j'ai creer un fichier "etoile" en C++, contient 3 tableaux: Annee, Sep et Ang. mais a l'ouverture de ce fichier j'arrive pas a lire les valeurs qua j'ai stocker dans ce fichier. il m'affiche des valeurs aleatoire.
ça sera gentil de votre part de me comment je peux regler ce probleme, et merci d'avance pour vos reponses
voila mon prog:
#include

"stdafx.h"#include

#include

<fstream>#include

<string>using

namespace std;int

main(){

double

Annee[4];double

Sep[4];double

Ang[4];int

i;ifstream f("etoile.txt");

if

(!f.is_open())cout<<"Impossible d'ouvrir le fichier en lecture !"<<endl;else

{

for(i=0;i<4;i++)

f>>Annee[i]>>Sep[i]>>Ang[i];

}

f.close();

for

(i=0;i<4;i++)cout<<Annee[i]<<" "<<Sep[i]<<" "<<Ang[i]<<"\n"<<endl;return

0;}

4 réponses

Messages postés
41
Date d'inscription
mercredi 27 février 2008
Statut
Membre
Dernière intervention
16 novembre 2008

merci; 
ça marché. en fait c'etait : f<<annee<<" "<<ang<<" "<<sep<<endl; qui a bolqué le programme. j'ai oublié de le supprimer.
j'ai pas fait ettention. je suis vraiment nullllll.
je vous promis que la prochaine fois je vais bien lire mon programme avant de le poster ici.
merci encore une fois.
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
19
Bonjour.
Quelle est la structure de ton fichier etoile.txt ?
A tu essayé dans un premier temps de lire 1 seul valeur dans une variable "double" sans utiliser directement un tableau ?.

Cdt
Messages postés
41
Date d'inscription
mercredi 27 février 2008
Statut
Membre
Dernière intervention
16 novembre 2008

bonjour;
oui j'ai essayé mais c'est toujours pareil, il m'affiche une valeur pas normale.
voila mon programme de creation de mon fichier.



#include"stdafx.h"




#include



#include <fstream>



#include <string>



using namespace std;



int main()



{



int i;



double Annee[4];



double Ang[4];



double Sep[4];



Annee[0]=1950; Sep[0]=50; Ang[0]=1;



Annee[1]=1960; Sep[1]=49; Ang[1]=2;



Annee[2]=1970; Sep[2]=15; Ang[2]=3;



Annee[3]=1980; Sep[3]=45; Ang[3]=4;



ofstream f("etoile.txt");



if(!f.is_open())cout<<"Impossible d'ouvrir le fichier en écriture !"<<endl;



else



{



f<
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
19
f< ou sont déclaré ces variables ?

si ton fichier etoile.txt ne contient pas que des valeurs numeriques il est possible que la lecture  f >> Annee[i] ... bloque.

Après ta lecture essaye de faire un if ( f.fail() ) pour tester s'il y a une erreur lors de la lecture.

Cdt