PDA

Visualizza la versione completa : [C] client/server e double


ritita
28-01-2014, 19:03
Salve ragazzi..sono alle prese con un progetto universitario e per quanto stupido vi sembrerà il quesito, non riesco a risolverlo.
Ho un client che deve inviare al server un valore in double ma riesco solo a farlo arrivare troncato,cioè perdendo i decimale,nonostante le dovute conversioni..Per esempio se dal client parte 40.99 al server mi arriva 40.00 e quie decimali mi servono..Potete aiutarmi??Grazie

CLIENT


memset(buffer,0,BUFF_SIZE);
printf("inserire numero:\n");
scanf("\n%d",&codice);
snprintf(buffer, sizeof(buffer), "%lf\r\n",citta_cli[codice].lat); //citta_cli[codice].lat è contenuto in una struct ed è dichiarato double
if ( write(sockfd, buffer, sizeof(buffer)) <0)
{
perror("write error");
exit(-1);
}


SERVER


memset(buffer,0,BUFF_SIZE);
if (read(connfd, buffer,sizeof(buffer))<0)
{
perror("read error");
exit(-1);
}
printf("\nbufferINchar: %s \n",buffer);
a=atof(buffer);
printf("\nbufferINdoulbe: %lf \n",a);

oregon
28-01-2014, 22:43
Scusa, ma il codice che ti ho suggerito in

http://www.iprogrammatori.it/forum-programmazione/cplusplus/problema-client-server-t19526-15.html#p8509006

non l'hai provato?

Non è bello piantare la discussione in un forum dove sei stato/a seguito/a e passare ad un altro.

Loading