Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
589 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] fstream

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] fstream

n°34680
DuffBeer
Posté le 28-05-2001 à 09:50:05  profilanswer
 

J'arrive pas a bien utiliser fstream, j'explique :
 
mon fichier généré par Matlab :
    3.00000
    1.00000
    3.80000
    0.00290
    0.00500 ...
 
le code C++ pour le lire :
int nb;
double lg;
fstream * fichier;
fstream = new fstream("donnees",ios::in);
fichier->getline(reinterpret_cast(&nb), sizeof(nb));
fichier->getline(reinterpret_cast(&lg), sizeof(lg));
fichier->close();
 
Je veux en fait récupérer les valeurs de mon fichier et les convertir dans un type donnée. Mais quand je regarde les valeurs récupérées, c'est du style 256789630.  :ouch:  
What is the problem ?  :sweat:  
 
PS : A quoi sert using namespace std ?
      A la compile, il ne trouve pas les fichiers en-tête iostream et fstream. Je suis obligé de lui spécifié le chemin .../g++-3 ?  :gun:

mood
Publicité
Posté le 28-05-2001 à 09:50:05  profilanswer
 

n°34683
minusplus
Posté le 28-05-2001 à 09:51:10  profilanswer
 

j'ai mis une réponse dans l'autre topic.

n°34691
DuffBeer
Posté le 28-05-2001 à 10:09:03  profilanswer
 

1) et 2) Peux-tu me donner une exemple simple par rapport à ce que j'ai donné, please ?  :jap:  
 
3) Je pense donc que j'en ai pas besoin étant donné que j'utilise g++.
 
4) Mes fichiers sont nommés .C et .H.

n°34705
minusplus
Posté le 28-05-2001 à 10:39:42  profilanswer
 

par exemple :
 
int nb;
double lg;
ifstream fichier("le_nom_de_ton_fichier" );
fichiers >> lg;
nb = lg;
fichier >> lg;
fichier.close();
 
pour tes en-têtes : tu mets bien  
 
#include <iostream>
 
et pas  
 
#include "iostream"
 
?

n°34717
DuffBeer
Posté le 28-05-2001 à 10:58:08  profilanswer
 

Pour l'en-tête, je mets #include <fstream> (je crois qu'il fait lui-même un include de iostream).
Il y a un cast implicite lorsque tu ecris nb = lg, ou dois-je l'ecrire explicitement nb = (int) lg ?

n°34721
minusplus
Posté le 28-05-2001 à 11:02:46  profilanswer
 

le cast se fera sans pb...
 
Je comprends pas qu'il ne te trouve pas tes headers standards.... c'est quelle version de gcc ?

n°34735
Bluetooth
Posté le 28-05-2001 à 11:32:59  profilanswer
 

<error error :-) >

 

[edit]--Message édité par Bluetooth--[/edit]

n°34737
DuffBeer
Posté le 28-05-2001 à 11:34:02  profilanswer
 

J'ai compilé mon source sous deux plate-formes, la première est Solaris 8 dans une école où je réalise ce prog (SupAéro) mais j'ai pensé que l'environnement était mal configuré.
Alors j'ai ramené le prog chez moi où j'ai fraichement installé Mandrake 8 et j'ai les mêmes erreurs : il me trouve pas les header iostream et fstream dans les répertoires strandard /usr/include etc... J'ai donc cherché où étaient les headers et j'ai rajouté dans mon makefile l'option -I/usr/include/g++-3/, répertoire où ils se situaient. :gun:  
Est-ce que tu y comprend quelque chose, moi pas ! :crazy:
Voilà et merci pour tes lumières ! :jap:

n°34768
DuffBeer
Posté le 28-05-2001 à 13:16:24  profilanswer
 

minusplus> J'ai essayé ce midi ce que tu m'as conseillé, et ça marche !!! (enfin chez moi) :hap:  
Je ne sais comment te remercier !!! (pas en nature) :jap:  
 :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] fstream

 

Sujets relatifs
[c++] Probleme avec fstream... 
Plus de sujets relatifs à : [C++] fstream


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR