Bonjour,

je rencontre un petit souci avec la fonction memmove.
j'ai créé deux structures de type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
typedef struct {
       double date;
       float IBrut;
       float IFiltre;
       float ICapt;
       float TBrut;
    //   float TMicro;
 
}TAB_VAL_VRAI;
 
 
typedef struct {
       TAB_VAL_VRAI acquisitionMicro[nbrevaleurtabenregistreaqui];
       TAB_VAL_SIMUL simulation[nbrevaleurtabenregistreaqui];
 
}ENREGISTREMENT;
Mon but est de faire une LIFO donc j'utilise la fonction memmove :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 memmove(&enregistrement.acquisitionMicro[0],&enregistrement.acquisitionMicro[1],sizeof (enregistrement.acquisitionMicro)-sizeof(enregistrement.acquisitionMicro[0]));//shifftage du tableau I
Mon probleme est que le code tel qu'il est au dessus marche sans souci le shiftage est bon
mais si je rajoute une variable dans la declaration de ma structure TAB_VAL_VRAI (exemple celle en commentaire)
la fonction ne marche plus.
la valeur enregistremet.acquisitionMicro[nbrevaleurtabenregistreaqui-1] est juste et toutes les autres passent à zéro pendant le memmove.

Pourquoi????? limitation de la fonction????

Merci d'avance