Vai al contenuto
PLC Forum


Linguaggio C: Confronto Di 2 Struct


valeria.dea

Messaggi consigliati

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 direttamente

cmd_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


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 senzasperanza.gif

Ciao

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...