Code: Alles auswählen
struct{
BYTE a;
WORD b;
BYTE d;
DWORD c;
}m_session;
char buffer[512];
m_session.a=12;
m_session.b=345;
m_session.d=45;
m_session.c=678;
memcpy(buffer,&m_session,sizeof(m_session));
m_serial->writeData(buffer,sizeof(m_session));012 255 089 001 045 181 018 000 166 002 000 000 und von dieser Werte in Binär-Form kann ich mein m_session nicht "wiederherstellen"
und sizeof(m_session)=12 WARUM???
Wenn ich umschreibe meine struct so:
Code: Alles auswählen
struct{
BYTE a;
BYTE d;
WORD b;
DWORD c;
}m_session;und nach dem senden ich empfange die Werte auch in die richtige Ordnung
012 045 089 001 166 002 000 000
Die ersten 2 Bytes sind a und d , dann die anderen 2 Bytes 089 001
in binär form 101011001 ergibt 345 usw...
Also ist memcpy nicht gut für mein Problem...
Wie kopiere ich genau die Elemente einer struct in einem char *()?
Ich glaube ich verstehe nicht ein paar grundsätzliche Dinge...
DANKE für eure Hilfe?