Probleme de lecture de fichiers

bab812 Messages postés 4 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 9 juillet 2005 - 7 juil. 2005 à 19:35
asmanur Messages postés 230 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 août 2005 - 8 juil. 2005 à 07:07
Bonjour je suis nouvelle sur le site et egalement en C++ . D'habitude je code en fortran, mais voila on m'a donnée un code en C++ qui est censé tourné tout bien comme il faut, mais j'ai un probleme pour arriver a faire lire mes fichiers (que je crois etre en binaire c'est a dire illisible quand on les affiche a l'ecran) .
Le programe compile bien, mais c'est a l'execution il me met un "segmentation fault". Et quand j'ecris a l'ecran les valeur Ncs nu et t, c'est du n'importe quoi.
Voila un morceau du code :

#include <time.h>
#include <math.h>
#include
#include <strstream>
#include <fstream.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include
#include <string.h>


#define real double
real Ncs[3];
FILE *fsx;
float nu, t;

sprintf(filein,"");
// ouvre le fichier
sprintf(fileinx,"%sx",filein);
fsx=fopen(fileinx,"r");
if (fsx == NULL)
{ printf(" Input file %sx.dat is not found \n",filein); exit(1); }

// lis le fichier
fread(Ncs,sizeof(real),3,fsx);
fread(&nu,sizeof(real),1,fsx);
fread(&t,sizeof(real),1,fsx);

// ecris les valeurs a l'ecran
printf(" Nx=%g, Ny=%g , Nz=%g, \n",Ncs[0],Ncs[1],Ncs[2]);
printf(" nu=%e, t=%e , \n",nu,t);
===============================

Merci beaucoup de votre aide
Bab

3 réponses

asmanur Messages postés 230 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 août 2005
7 juil. 2005 à 19:51
T'as mis le code source là ?? Et t'arrive à compiler??
Sinon l'erreur dont tu parles est dans la ligne :
fsx=fopen(fileinx,"r");
qu'il faut remplacer par
fsx=fopen(fileinx,"rb");
puisque ton fichier est binaire
0
bab812 Messages postés 4 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 9 juillet 2005
7 juil. 2005 à 23:49
Non ce n 'est qu'un bout du code avec les declarations des variables et ouverture et lecture du fichier. J'ai deja essayé en ajoutant 'rb' et ça change rien, ça donne les memes valeurs a l'ecran
0
asmanur Messages postés 230 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 4 août 2005
8 juil. 2005 à 07:07
Mets le code en entier pas seleument deux bouts de code décousus
0
Rejoignez-nous