valeria.dea Inserito: 25 settembre 2009 Segnala Share Inserito: 25 settembre 2009 Ciao ragazzi,domanda da un milione di dollari.Vorrei sapere come si fa a confrontare due struct che dovrebbero essere identiche.Ovvero, vi spiego meglio il problema.Sto sviluppando il firmware di un sensore che comunica tramite CANbus e ho creato una struct per unire tutti i campi di un messaggio del tipo riconosciuto da questo protocollo di comunicazione (i.e., id, lunghezza dati, dati...).Il fatto è che ora però devo controllare che i messaggi che ricevo siano di quelli che mi interessano per eseguire i comandi desiderati.La mia idea era quella di confrontare direttamentecmd_def == mess_ricevuto (ripeto, sono 2 struct, con gli stessi membri)ma il compilatore non me lo permette; e quindi mi tocca controllare membro per membro che il messaggio ricevuto corrisponda esattamente a quello che mi aspetto.per es.:if (cmd_def.identifier == mess_ricevuto.identifier)Mi insegnereste un bel trucco barbatrucco???Grazie Link al commento Condividi su altri siti More sharing options...
lucios Inserita: 25 settembre 2009 Segnala Share Inserita: 25 settembre 2009 Non sono sicuro, ma se le 2 strutture non contengono puntatori forse potrebbe funzionare qualcosa del tipo:memcmp(struc1,struc2,sizeof(struc1));ma non ho mai provato Ciao Link al commento Condividi su altri siti More sharing options...
valeria.dea Inserita: 25 settembre 2009 Autore Segnala Share Inserita: 25 settembre 2009 Grazie,ci provo subito e ti farò sapere. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora