begin process at 2012 05 29 12:00:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

fread VS sstream >>


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

fread VS sstream >>

mercredi 16 février 2005 à 20:14:42 | fread VS sstream >>

xabila

Bonjour,
Voilà je voudrais convertir ces deux lignes :
 
fread(moncharStar, sizeof(char), 10, file);
fread(monInt, 1, sizeof(int), file);

avec des stream C++. donc j'ai fait

for(int i = 0;i<10 ; i++)
file >> moncharStar[i] ;
file >> monInt;

Mais ca correspond pas.
Donc ma question comme ce que je récupere est dans un fichier binaire ,  est ce que le fread ferait le saut à la ligne tout seul?
Voilà merci

 


mercredi 16 février 2005 à 21:42:44 | Re : fread VS sstream >>

steve_clamage

il faut l'ouvrir en binaire et utiliser la méthode read()

#include <iostream>
#include <fstream>

namespace
{
// une fonction générique pour simplifier  l'écriture
template< typename TYPE >
inline std::istream& read( std::istream &file, TYPE &s )
{
    return file.read( reinterpret_cast<char *>(&s), sizeof s );
}

}

using namespace std;

int main()
{

      ifstream file( ios::binary );
      if( !file )
           return 1;
     int n;
     read( file, n );

}

jeudi 17 février 2005 à 09:52:56 | Re : fread VS sstream >>

xabila

3 points.

1) MERCI ;)

2) moi je lis un fichier donc je fais plutot ifstream file(filename), donc je sais pas trop ou préciser que je vais faire du binary.( a moins qu'il y ait un setFile dans ifstream (je vais regarder)

3) pourquoi ce cast<char *>  mais c'est peut etre ce qui permet de passer du binaire à l'ascii en fait

jeudi 17 février 2005 à 09:59:32 | Re : fread VS sstream >>

xabila

ok donc pour la 2) c'est  bien
    ifstream file (filename,ios::binary)

Ca c'est fait ;)
jeudi 17 février 2005 à 18:23:44 | Re : fread VS sstream >>

steve_clamage

oui désolé j'ai oublié de préciser le nom du fichier dans le constructeur
ca doit etre ca

la méthode read attend un char * (pointeur sur le buffer qui contiendra les données lues). Donc en c++ si tu lui passes tout cru l'adresse de ton int, le compilateur ne va pas aimer à cause de la force du typage (en C ca serais passer si la fonction attendais un void*). le reinterpret_cast s'impose.
jeudi 17 février 2005 à 18:28:20 | Re : fread VS sstream >>

xabila

Réponse acceptée !
ok c'est cool ca marche parfait !



Cette discussion est classée dans : voil, file, fread, sstream, moncharstar


Répondre à ce message

Sujets en rapport avec ce message

nom d'un fichier a partir d'un pointeur FILE ? [ par roiDesBranleurs ] salut !!voilà. je suis etudiant et je fais mes premiers pas en C..faut dire que passer de Java en C c'est pas evident..je veux cree une fonction qui p [C] fread -> segmentation fault [ par bonobo78 ] j'arrive pas a faire un fread :(void lecture_fichier( char path ) { FILE * File; char *message; File = fopen(path,"r"); message = (char*)mall fonction fread lit bizarrement un fichier texte [ par bilel59 ] Bonjour à tous, voici mon problème : j'écris dans le fichier vect3.txt 3 floats grâce à la fonction fwrite, cela se passe bien cependant, lorsque je v question [ par nouha23 ] voila un class de mon projet fin d'étude je veu comprendre ces  codes svp /**************************************************************************/ Scan récursif des répertoire, sa ne liste pas tous [ par panthere007 ] hello Bon essayer depuis un moment de me faire une petite appli qui va lister les droit des fichier et répertoire voir plus. donc: 1.- Cela scanne pre problème d'héritage en C++ [ par Bomberem ] Bonjour, j'ai un problème qui m'occupe depuis deux jours et je n'arrive pas à le résoudre (malgrès une recherche intensive sur le web), peut-être que Manipulation de date [ par alphaone ] Bonjour, j'ai fait une fonction pour copier la date d'un fichier vers un autre:[code]/** \brief change file time with system time\param file File name Insérer la valeur d'une variable entre deux balise XML. [ par 2eio ] Bonjour.J'ai créé un programme en Langage C, qui crée un fichier XML avec sa DTD, sous Paradigm C++.Mon problème est que je n'arrive pas à y inclure l


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales