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
SERVERcodice: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); }
codice: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);

Rispondi quotando