begin process at 2008 07 05 00:43:30
1 205 023 membres
12 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pb avec ifstream et ofstream [ Archives / Fichier / Disque ] (victorcoasne)

Pb avec ifstream et ofstream le 28/07/2004 13:12:41

victorcoasne
Membre Club
Je créé un prog qui lit un fichier et qui après un traitement le reconstitu et j'ai le problème suivant.

En faisant avec un fichier texte de 1ko maxi ça va et avec un truc de 32Ko ça ne va pas (ça ne le lit pas en entier !!)



Vous voulez des RPG gratuits allez sur [ Lien ] !!!

Le créateur du site [ Lien ]

Re : Pb avec ifstream et ofstream le 29/07/2004 03:08:50

Hylvenir
Dois pas y avoir de pb avec les ifstreams pour un fichier aussi petit.
Essaye de mettre un exemple de ton code qui pose problème.

// Ma participation à la saturation du net:
// http://hylvenir.free.fr

Re : Pb avec ifstream et ofstream le 29/07/2004 09:35:28

victorcoasne
Membre Club
ok


ifstream fichiero("fichier.txt");
while (!fichiero.eof())
{
fichiero >> buf;
// Traitement
}
fichiero.close();



Explications : Quand il lit une bitmap ou un .exe il s'arrête en faisant 3 caractères mais avec un fichier texte Nickel.

J'ai une autre question comment savoir entre deux >> si il a été à la ligne si il a fait un espace, une tabulation ?

Merci

Vous voulez des RPG gratuits allez sur [ Lien ] !!!

Le créateur du site [ Lien ]

Re : Pb avec ifstream et ofstream le 29/07/2004 09:58:31

Hylvenir
Réponse acceptée !
Sauf si tu as surchargé l'opérateur >> sur une class hypothétique dont buf serait une instance et te permettent de lire directement une image (binaire) à partir d'un flux.... il ne faut pas utiliser >> pour lire
(lecture formattée dans une chaîne sûrement ici)
Utilise plutôt
while( fichiero.getline( buf, sizeof( buf ), '\n' )

Pour l'autre point, à ma connaissance tu ne peux pas avec >>
il faut par exemple utiliser
std::string line;
while( getline( file, line ) )
{
// Lecture d'une ligne complète (jusqu'au \n suivant)
// ensuite un ostringstream te permet de découper simplement
// par espace ou tabulation.
}


// Ma participation à la saturation du net:
// http://hylvenir.free.fr

Re : Pb avec ifstream et ofstream le 29/07/2004 16:54:12

victorcoasne
Membre Club
Est-ce possible avec ifstream ou ofstream de lire ou d'enregistrer en binaire ???



Vous voulez des RPG gratuits allez sur [ Lien ] !!!

Le créateur du site [ Lien ]

Re : Pb avec ifstream et ofstream le 29/07/2004 16:59:56

Hylvenir
oui

ios:binary puis file.get( buf, sizeof(buf) );

par exemple

// Ma participation à la saturation du net:
// http://hylvenir.free.fr

Re : Pb avec ifstream et ofstream le 29/07/2004 17:02:08

victorcoasne
Membre Club
merci de donner un exemple sous forme de code







Vous voulez des RPG gratuits allez sur [ Lien ] !!!

Le créateur du site [ Lien ]

Re : Pb avec ifstream et ofstream le 29/07/2004 18:04:47

Hylvenir
Réponse acceptée !
Un fichier binaire contenant un double


#include <iostream>
#include <fstream>
using namespace std;

int main()
{
double pi = 3.1415926;

ofstream fileOut( "pi.bin", ios::out | ios::binary );
fileOut.write( (const char*)&pi, sizeof( pi ) );
fileOut.flush(); // ne pas oublier ou close();

pi = 0.0;

ifstream fileIn( "pi.bin", ios::in | ios::binary );
fileIn.read( (char*)&pi, sizeof( pi ) );
cout << "PI : [" << pi << "]\n";
}



//Ma participation à la saturation du net:
//http://hylvenir.free.fr

Re : Pb avec ifstream et ofstream le 02/08/2004 10:25:31

victorcoasne
Membre Club
Bonjour la variable créé avec ostream est de quel type ?

FILE ou FILE * ne doit apparament pas être ça

le compilateur me dit void* alors ?



Vous voulez des RPG gratuits allez sur [ Lien ] !!!

Le créateur du site [ Lien ]

Re : Pb avec ifstream et ofstream le 02/08/2004 10:43:21

Hylvenir
ostream est une classe ( basic_ostream sur char on va dire )

cout << typeid( fileOut ).name() << endl;

te permet d'avoir des infos pour ton instance (ici son nom)

// Ma participation à la saturation du net:
// http://hylvenir.free.fr


[Page 1 Page 2]
Classé sous : pb, url, ofstream, lit, ifstream

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS