Tableau de structures

Résolu
RoulianRoss Messages postés 21 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 8 janvier 2008 - 25 juil. 2007 à 14:31
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 25 juil. 2007 à 15:48
Bonjour,
j'ai une structure définie comme ceci:
typedef struct
{
    char    cIntitule[TAILLE_INTITULE];         // Intitulé de la voie
    char    cUnite[TAILLE_UNITE];                 // Unité de la voie
    char    cDescription[TAILLE_DESCRIPTION];      // Description de la voie  
               
}VoieDescription;

et j'ai également déclaré différentes voies tel que:
VoieDescription VoieAnalogiqueNumeroUne;
VoieDescription VoieAnalogiqueNumeroDeux;
VoieDescription VoieAnalogiqueNumeroTrois;

or j'aimerais réaliser un tableau de ces structures et enregistrer ce tableau dans un fichier au format binaire. Est ce que quelqu'un peut m'aider.

Merci beaucoup!

6 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 juil. 2007 à 14:49
CreateFile WriteFile CloseHandle

HANDLE hFile;
DWORD nbytes;

hFile = CreateFile("nomfichier", GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0);
WriteFile(hFile, tabstructure, sizeof(tabstructure), &nbytes, 0);
CloseHandle(hFile);

fopen fwrite fclose

FILE *file;
file = fopen("nomfichier", "wb");
fwrite(tabstructure, sizeof(tabstructure), 1, file);
fclose(file);

C++ (@++)<!--
3
RoulianRoss Messages postés 21 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 8 janvier 2008
25 juil. 2007 à 15:31
j'utilise donc fwrite(tabstructure, sizeof(tabstructure), ???, file)
mais je ne sais pas quoi mettre pour???
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 juil. 2007 à 15:48
VoieDescription tabstruct[3];
sizeof(tabstruct) == 3*VoieDescription

donc oui.

Sinon, tu peux faire

fwrite(tabstruct, sizeof(VoieDescription), 3, file);

C++ (@++)<!--
3
RoulianRoss Messages postés 21 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 8 janvier 2008
25 juil. 2007 à 15:11
merci je pense que c'est normal que lorsque j'enregistre sous format ASCII, je n'ai rien de lisible puisque j'enregistre un tableau de structures...merci de me le confirmer.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 juil. 2007 à 15:34
1 comme dans l'exemple.

C++ (@++)<!--
0
RoulianRoss Messages postés 21 Date d'inscription mercredi 18 avril 2007 Statut Membre Dernière intervention 8 janvier 2008
25 juil. 2007 à 15:41
meme si mon tableau contient 3 structures, je dois mettre 1 ????
dslé pour les questions merci pour les réponses...
0