Ciao a tutti,
come faccio a leggere da un socket un blocco di byte in cui uno rappresenta il carattere '\0' senza che questo crei problemi?

se uso
char *buf;
n=recv(socket, buf, 256,0);

e il (per esempio) quinto byte rappresenta il '\0' ma devo leggerne 256 ne vengono letti solo 4

come posso fare?

Grazie
Ciao