Je pige plus...

Quelqu'un a-t-il d�j� un peu jou� avec unpack() dans PHP ? J'ai le probl�me 
suivant. J'ai une structure C suivante :

typedef struct 
{
    double      Delta;
    double      Start;
    time_t      TimeMT;
    time_t      TimeLT;
    int         CaseMT;
    int         CaseLT;
} Filter;

J'�cris cette structure dans un dbm avec fetch (size == sizeof(Filter)).

Jusque l�, tout va bien. Ensuite, j'essaie de relire mes data en php � l'aide 
de dba_fetch(). Je r�cup�re donc un "string" dont la taille correspond 
parfaitement � ce que mon programme C � �crit. L� o� a se corse, c'est quand 
j'utilise unpack(). Si j'ai bien compris la doc (l'embryon...), je devrais 
faire :

$Array = unpack('d2/I2/i2', $Buffer);

pour r�cup�rer mon tableau et la valeur de Filter.CaseLT devrait �tre 
accessible  faisant :

$Array[5]

En faisant cela, je n'ai strictement aucune valeur. A force de bricoler, j'ai 
r�ussi � r�cup�rer des bouts de data mais � l'aide du 'format' unpack() 
suivant :

'd2/I4'

Ce qui est compl�tement d�bile puisque CaseMT et CaseLT sont des valeurs 
sign�es... Avec ce 'format' j'ai... CaseLT est perdu... TimeLT se trouve dans 
l'indice $Array[2] (au lieu de 3) et les valeurs Delta et Start sont 
irr�cup�rables...

Donc, qui est assez rompu � l'usage de unpack() pour m'expliquer ce qui ne va 
pas ?

Merci

Daniel

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à