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.