Lire un fichier en C++

Résolu
rif59 Messages postés 41 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 16 novembre 2008 - 31 mars 2008 à 17:37
rif59 Messages postés 41 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 16 novembre 2008 - 1 avril 2008 à 15:08
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

rif59 Messages postés 41 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 16 novembre 2008 1
1 avril 2008 à 15:08
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.
3
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 24
1 avril 2008 à 14:28
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
0
rif59 Messages postés 41 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 16 novembre 2008 1
1 avril 2008 à 14:44
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<
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 24
1 avril 2008 à 14:56
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
0
Rejoignez-nous