fstream [C++] - Programmation
Marsh Posté le 28-05-2001 à 10:09:03
1) et 2) Peux-tu me donner une exemple simple par rapport à ce que j'ai donné, please ?
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.
Marsh Posté le 28-05-2001 à 10:39:42
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"
?
Marsh Posté le 28-05-2001 à 10:58:08
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 ?
Marsh Posté le 28-05-2001 à 11:02:46
le cast se fera sans pb...
Je comprends pas qu'il ne te trouve pas tes headers standards.... c'est quelle version de gcc ?
Marsh Posté le 28-05-2001 à 11:32:59
<error error :-) >
[edit]--Message édité par Bluetooth--[/edit]
Marsh Posté le 28-05-2001 à 11:34:02
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.
Est-ce que tu y comprend quelque chose, moi pas !
Voilà et merci pour tes lumières !
Marsh Posté le 28-05-2001 à 13:16:24
minusplus> J'ai essayé ce midi ce que tu m'as conseillé, et ça marche !!! (enfin chez moi)
Je ne sais comment te remercier !!! (pas en nature)
Marsh Posté le 28-05-2001 à 09:50:05
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.
What is the problem ?
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 ?