salve,
ho questo pezzo di codice
codice:
#include ...
#define ...
int main()
{
[...]
char *buffer = (char*) malloc(BUFSIZE);
// apro una socket TCP
[...]
while(1)
{ //salvo lo stream TCP in arrivo in buffer
recv(new_sd, buffer, bufsize, 0);
printf("%s\n",buffer);
}
}
Il problema di questa cosa è che in buffer mi rimangono caratteri di stringhe più lunghe di quella che vado a visalizzare, faccio un esempio; se ricevo prima "Ciao, prova!" e dopo "Ciao"; la prima printf mi restituisce "Ciao, prova!" e la seconda pure perchè printf non trova "\0" subito dopo "Ciao".
Come si può azzerare il buffer dopo ogni lettura?
Grazie mille,
maxa