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