sreadbytes.c

来自「Porting the Simple Sockets Library Dr. C」· C语言 代码 · 共 46 行

C
46
字号
/* Sreadbytes.c: */#include <stdio.h>#include "sockets.h"/* --------------------------------------------------------------------- *//* Sreadbytes: this function performs a socket read. *  Gets buflen bytes, so long as read is working. *  Otherwise, (read fails with a -1), the number *  of bytes received will be returned. */#ifdef __PROTOTYPE__int Sreadbytes(  Socket *skt,		/* socket handle			*/  void   *buf,		/* socket character buffer	*/  int     buflen)	/* max length of buffer		*/#elseint Sreadbytes(  skt,				/* socket handle			*/  buf,				/* socket character buffer	*/  buflen)			/* max length of buffer		*/Socket *skt;void   *buf;int     buflen;#endif{int cnt;int rcnt;/* sanity check */if(!skt) {	return -1;	}/* get buflen bytes, no matter the wait */for(cnt= 0; cnt < buflen; cnt+= rcnt) {	rcnt= recv(skt->skt,(void *) (((char *)buf)+cnt),(unsigned) (buflen-cnt),0);	if(rcnt < 0) break;	}return cnt;}/* --------------------------------------------------------------------- */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?