Tervehdys kaikki,
Törmäsin ongelmaan kirjoittaessani binääri tiedoston lukijaani. Nimittäin bitit menevät väärinpäin.
Tiedosto formaatissani data on asetettu idealla [1 tavu][4 tavua].
Alla olevassa esimerkissä tiedot taulukkoon tulevat [0] = 0x00 [1] = 0x00 [2] = 0x00 [3] = 0x00 [4] = 0x0d
char _cDataBuffer[5] = {0}; int t = 0; if( readData( _cDataBuffer, 5 ) ) { ui8DataType_ = (UINT8 *)_cDataBuffer; // Tässä bitit tulevat t integeriin väärin päin taulukossa 0x00 0x00 0x00 0x0d. T arvoksi tulee nytten 0x0d000000 vaikka pitäs saada 0x0000000d t = *(int *)( _cDataBuffer + sizeof( UINT8 ) ); }
Onko tuossa ongelmaa? Huomioi Intel arkkitehtuurin käyttämä bitti järjestys: tavussa big-endian, mutta tavut little-endian järjestyksessä integerissä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.