PDA

Visualizza la versione completa : [C] Server concorrente


AxelMc
16-03-2007, 13:27
Ciao a tutti, per l'esame di programmazione in ambienti distribuiti devo implementare un server concorrente...

Ho però un problema...

Ho dichiarato 2 variabili op1_16 e op2_16 che sono uint16_t (su 2 byte); quando vado a fare la sscanf da un buffer, cosa devo utilizzare tra ""? Per uint8_t uso "%su", per uint32_t "%u" e per uint16_t non so...

Per aiutarvi ecco un esempio:
----------------------------

Readn(connfd,buffer,4); //leggo 4 byte--> i 2 operandi da 2 ciascuno

sscanf(buffer,"%u%u",&op1_16,&op2_16); //prendo da buffer i due operandi con %u

-----------------------------
Il problema è che mi dà un warning su %u dicendo che i parametri passati non sono dello stesso tipo...

AxelMc
17-03-2007, 17:56
Ok, visto che non ho avuto nessuna risposta provo a riproporre la domanda con altri tipi;

in un buffer ho 2 numeri interi con segno che possono essere su 1 o 2 o 4 byte; con la funzione sscanf vorrei prendere da questo buffer i 2 numeri.

per numeri da 1 byte--> sscanf(buffer, "%?%?", &op1, &op2);

per numeri da 2 byte--> sscanf(buffer, "%sd%sd", &op1, &op2);

per numeri da 4 byte--> sscanf(buffer, "%ld%ld", &op1, &op2);

Il problema è sui numeri da 1 byte che non so con che cosa prenderli (dove ho messo i punti interrogativi)...

MItaly
17-03-2007, 23:15
Leggere la documentazione del compilatore? :fagiano:

Loading