Sockets 使用recv()后保存接收缓冲区的头

Sockets 使用recv()后保存接收缓冲区的头,sockets,recv,Sockets,Recv,我试图将收到的缓冲区的一部分保存在char*变量中,但它不起作用 我正在使用: recv(sock,buff,BUFLEN,0); char *head=NULL; head= (char *) malloc (16); strncpy (head,buff,16); 如何将它的一部分(比如说4个前字节)保存到char*head中?听起来像是在用recvmsg()进行分散读取。您能准确地描述什么不起作用吗?另外,你能提供一些你为什么要这样做的背景吗?

我试图将收到的缓冲区的一部分保存在char*变量中,但它不起作用

我正在使用:

recv(sock,buff,BUFLEN,0);
char *head=NULL;
head= (char *) malloc (16);
strncpy (head,buff,16);

如何将它的一部分(比如说4个前字节)保存到char*head中?

听起来像是在用
recvmsg()进行分散读取。
您能准确地描述什么不起作用吗?另外,你能提供一些你为什么要这样做的背景吗?