begin process at 2010 02 10 12:10:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

fwrite en mémoire....


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

fwrite en mémoire....

samedi 15 mars 2008 à 16:36:42 | fwrite en mémoire....

loicus

Bonjour à tous...

J'ai un très gros probleme.  Je travail avec des fichiers binaires en lecture et en écriture.

Je n'ai aucun probleme avec l'utilisation classique de fwrite et de fread.
Mais j'aimerais bien pouvoir garder en mémoire certaine variable avant de les écrires..., le plus simple pour vous s'expliquer ce que j'aiemrais bien faire, est de vous montrez un example

A) //ce code marche... mais ne me satisfait pas completement

struct

Hit {float x; float y; float z;};Hit hit;
hit.x = 1;
hit.y = 1;
hit.z = 1;

fwrite(&hit,sizeof(Hit),1,pFile);

//plus loin dans le programme

hit2;
fread(&hit2,sizeof(Hit),1,pFile);

B) //j'aimerais pouvoir utiliser un code de ce genre

struct

Hit {float x; float y; float z;};Hit hit;
hit.x = 1;
hit.y = 1;
hit.z = 1;

void* buffer = &hit;
int        size = sizeof(Hit);

//plus loin dans le programme

fwrite(buffer,size,1,pFile);

//encore plus loin dans le programme

hit2;
fread(&hit2,sizeof(Hit),1,pFile);


Est ce que vous pouvez m'indiquer la bonne manière de faire?

Merci d'avance
Loic
samedi 15 mars 2008 à 17:27:47 | Re : fwrite en mémoire....

loicus

j'ai résolu mon probleme

l'example B) marche.  j'avais fait uen faute dans mon programme du style
fwrite(&buffer,size,1,pFile);
au lieu de
fwrite(buffer,size,1,pFile);

désoler du dérangement,
Loic
samedi 15 mars 2008 à 17:36:32 | Re : fwrite en mémoire....

jfrancois

Tout ça marche très bien :

#include <stdio.h>

struct HIT
{
   float x;
   float y;
   float z;
};

void main()
{
   HIT   hit    = { 1.5 , 2.7 , -3.9 };
   void* buffer = &hit;
   int   size   = sizeof(HIT);

   // plus loin dans le programme

   FILE* pFile = fopen("C:/Temp/test.dat","wb");
   if (pFile)
   {
      printf("Ecrire hit  : x=%f y=%f z=%f\n",hit.x,hit.y,hit.z);
      fwrite(buffer,size,1,pFile);
      fclose(pFile);
   }

   // encore plus loin dans le programme

   HIT hit2;
   pFile = fopen("C:/Temp/test.dat","rb");
   if (pFile)
   {
      fread(&hit2,size,1,pFile);
      fclose(pFile);
      printf("Lire   hit2 : x=%f y=%f z=%f\n",hit2.x,hit2.y,hit2.z);
   }
}

ce qui donne :

Ecrire hit  : x=1.500000 y=2.700000 z=-3.900000
Lire   hit2 : x=1.500000 y=2.700000 z=-3.900000

Jean-François



Cette discussion est classée dans : sizeof, float, fwrite, pfile, hit


Répondre à ce message

Sujets en rapport avec ce message

debutant en c, probleme pour un programmme de compression [ par araborgne ] voila donc je cherchais un programme permettant de compresser et decompresser un fichier texte, et image.j'en ai trouver un, mais il est ecrit en c++, Tableaux a 2 dimensions [ par AsM0DeUz ] 'lut !Je tente de comprendre les tableaux a 2 dimensions en me servant d'un tableau de pointeurs. Seulement lorsque je me documente sur le net, je ten strtok et atof la memoire ne peut etre written [ par ciberrique ] Bonjours j'ai écris ce code mais il y a une erreur a l'execution de type la mémoire de ne peut etre "written".Il semlerait que l'erreur soit sur les l Compression par suppression des blancs [ par Le_duc26 ] voila mon sujet: Réaliser un programme en C++ permettant la compression d'un fichier texte fourni en do Surcharge des opérateurs [ par karamellatti ] salut tout le monde,je sollicite votre aide pour la résolution d'un ptit problem concernant un mini-programme de calcul matriciel..voici  le programme winsock raw socket ping icmp recv [ par 4aBestWord ] bonjour,j'ai repris un code source en c pour faire un un ping icmp en utilisant les raw sockets sous windows (XP). L'envoie du ping fontionne bien par Detecter axe de symétrie dans un polygone [ par alexis0788 ] Bonjour à tous, je suis actuellement en fin de projet informatique en C sur les polygones. Je touche au but mais la dernière question est, je trouve, Probleme entre float et double [ par darkwhite ] Salut a tous, j'ai un probleme bizarre. J'ai fait un programme avec des fonctions et des variables float. Tout marche impecable. Cependant j'ai voulu taille d'une structure à partir d'un pointeur sur la structure ? [ par rovkoupov ] Bonjour Je suis à la recherche d'une façon simple pour obtenir la taille en octet d'une struture à partir d'un pointeur sur cette structure. Avec la f Utilisation de createprocess [ par La marmote ] Bonjours, j utilise create process et j aimera definir la position ou ma fentre se lance et pourtant il veut pas les prendre en compte STARTUPINFO si


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,593 sec (3)

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