Bonjour, j'ai créé un fichier pour un logiciel. J'enregistre dedans un entier et deux doubles de la facon suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
fileP = fopen(cleanDir, "r+b");
 
    fseek(fileP, 0, SEEK_END);
 
    fwrite(&mainWindow.actualShape, sizeof(int), 1, fileP);
    fwrite(&X, sizeof(double), 1, fileP);
    fwrite(&Y, sizeof(double), 1, fileP);
 
    fclose(fileP);
(Je vous ai enlevé toutes les vérifications pour que ca soit plus clair ;D)

Ensuite j'utilise :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
while(fread(&fileShape.idShape, sizeof(int), 1, fileP), feof(fileP) != 0){
   if(fileShape.idShape == 11){
      fread(&fileShape.x, sizeof(double), 1, fileP);
      fread(&fileShape.y, sizeof(double), 1, fileP);
      gdk_draw_rectangle (widget->window,
      widget->style->black_gc,
      TRUE,
      fileShape.x, fileShape.y,
      200,
      200);
   }
}
J'arrive bien à récupérer mon entier mais les valeurs des doubles sont incorrectes, je récupère 0 et 0.

Quelqu'un aurait une idée ?

Merci bien !