Bonjour,
Voila le source d'un programme qui doit lire un fichier binaire. Mais je ne comprends pas l'executable systematiquement...
Je pense qu'il y a un probleme avec l'execution de fread
Merci de m'aider...
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h> /* Manipulation de chaine de caractere */
/* Définition de la structure de lecture du fichier historique.log */
typedef struct {
unsigned char taille; // Nb Octets total de la structure
long equipement; // N° Concentrateur
unsigned char sous_unite; // N° Voie
unsigned short code_alarme; // Code Fonction
unsigned short sous_code_alarme; // Code Alarme
unsigned char date[6]; // Date Format voir la documentation
unsigned char donnees[238]; // Longueur variable de 0 a 238
unsigned char taille_bis; // Nb Octets total de la structure
} decodage ;
decodage histo; // Declaration du nom de la structure
int main(void)
{
FILE *historique; /* Pointeur fichier */
/**********************************************************************/
/* Lecture du fichier d historique de condor */
if ((historique = fopen ( ".historique.log", "rb" )) == NULL)
{
/* Placement au début du fichier */
rewind ( historique );
/* Decodage de du fichier */
while ( (fread ( &histo, sizeof(decodage), 1, historique)) == 0 )
{
printf("affichage de histo.taille : %s\n", histo.taille);
printf("affichage de histo.equipement: %s\n", histo.equipement);
printf("affichage de histo.sous_unite : %s\n", histo.sous_unite);
printf("affichage de histo.code_alarme : %s\n", histo.code_alarme);
printf("affichage de histo.sous_code_alarme: %s\n", histo.sous_code_alarme);
printf("affichage de histo.date : %s\n", histo.date);
printf("affichage de histo.donnnees : %s\n", histo.donnees);
printf("affichage de histo.taille_bis : %s\n", histo.taille_bis);
}
}
/* Erreur on quitte le prog */
else
{
printf("Erreur dans la lecture du fichier historique.log. \n");
exit (2);
}
/**********************************************************************/
return 0; /* Retourne une valeur null */
}