<html><body>Jaký je sizeof té struktury?<br><br>J. <br><br>---------- Původní zpráva ----------<br>Od: Libor Konečný <br>Datum: 23. 2. 2020 v 17:14:03<br>Předmět: Pretypovani ukazatele struktury na bajt<br><br>Zdravim osazenstvo, predevsim zdejsi programatory.<br><br>S novym kompilatorem (ten stary to nejakou zahadou umel)  resim <br>pretypovani ukazatelu.<br><br>Mam funkci (zjednodusene)<br>void  funkce (UINT8 * from)<br>{<br>*from++=0x01 ;<br>*from++=0x02 ;<br>*from++=0x03 ;<br>*from++=0x04 ;<br>*from++=0x05 ;<br>*from=0x06 ;<br>}<br><br><br>A pak strukduru<br>struct {<br>   UINT16 magic;<br>   DWORD ident;<br>}  hdr;<br><br>A potrebuji ji naplnit,<br>tedy volam<br>funkce ((UINT8*)&hdr);<br><br>ale kompilator to naplni vzdy jen jednim znakem<br><br>tedy vysledek je ze hdr.magic ma jen prvni bajt spravny.<br><br>Pokud pouziji strukturu<br>struct {<br>   UINT8 pole[6];<br>}  hdr;<br><br>Pak se naplni vsech 6 bajtu spravne.<br><br>Jak ji volat spravne aby se struktura prepisovala bajt po bajtu ? <br>(little a big endian zanedbejme)<br>Je zvlastni, ze stary kompilator fungoval spravne.<br><br>Dekuji za nakopnuti.<br>LK<br><br><br><br><br>_______________________________________________<br>HW-list mailing list  -  sponsored by www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list<br></body></html>