⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pub.cpp

📁 用qt写的网络五子棋程序
💻 CPP
字号:
#include "pub.h"int PackDisposer::MsgPacker(Message msg,char * buffer)//打包后放到buffer里{		int n;	int total=0;	n=msg.mID.length();	strncpy(buffer,msg.mID.ascii(),n);	total+=n;	buffer[total++]='#';        n=msg.mRequest.length();	strncpy(&buffer[total],msg.mRequest.ascii(),n);	total+=n;	buffer[total++]='#';	n=msg.mContent.length();	strncpy(&buffer[total],msg.mContent.ascii(),n);	total+=n;	buffer[total++]='$';		return total;}bool PackDisposer::MsgUnPacker( Message &msg,char * buffer){	char *ptr;	int n=0;	if((ptr=strstr(&buffer[0],"#"))==NULL)		return false;	*ptr='\0';	msg.mID=QString(&buffer[n]);	n+=ptr-buffer+1;	if((ptr=strstr(&buffer[n],"#"))==NULL)		return false;	*ptr='\0';	msg.mRequest=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;	if((ptr=strstr(&buffer[n],"$"))==NULL)		return false;	*ptr='\0';	msg.mContent=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;			printf("int unpacker msg.mContent: %s\n", msg.mContent.ascii());	return true;}int PackDisposer::TablePacker(PlayerTableNode node, char *buffer)//打包后放到buffer里{	int n;	int total=0;	n=node.mPlayerID.length();	strncpy(buffer,node.mPlayerID.ascii(),n);	total+=n;	buffer[total++]='&';        n=node.mPlayerState.length();	strncpy(&buffer[total],node.mPlayerState.ascii(),n);	total+=n;	buffer[total++]='&';	n=node.mPlayerOpID.length();	strncpy(&buffer[total],node.mPlayerOpID.ascii(),n);	total+=n;	buffer[total++]='&';	n=node.mAddr.length();	strncpy(&buffer[total],node.mAddr.ascii(),n);	total+=n;	buffer[total++]='&';	n=node.mPort.length();	strncpy(&buffer[total],node.mPort.ascii(),n);	total+=n;	buffer[total++]='&';		n=node.mDeskNumber.length();	strncpy(&buffer[total],node.mDeskNumber.ascii(),n);	total+=n;	buffer[total++]='&';	n=node.mSide.length();	strncpy(&buffer[total],node.mSide.ascii(),n);	total+=n;	buffer[total++]='&';		return total;}bool PackDisposer::TableUnPacker(PlayerTableNode &node,char *buffer)//把buffer还原成格式{	char *ptr;	int n=0;	if((ptr=strstr(&buffer[0],"&"))==NULL)		return false;	*ptr='\0';	node.mPlayerID=QString(&buffer[n]);	n+=ptr-buffer+1;	if((ptr=strstr(&buffer[n],"&"))==NULL)		return false;	*ptr='\0';	node.mPlayerState=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;	if((ptr=strstr(&buffer[n],"&"))==NULL)		return false;	*ptr='\0';	node.mPlayerOpID=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;		if((ptr=strstr(&buffer[n],"&"))==NULL)		return false;	*ptr='\0';	node.mAddr=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;		if((ptr=strstr(&buffer[n],"&"))==NULL)		return false;	*ptr='\0';	node.mPort=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;	if((ptr=strstr(&buffer[n],"&"))==NULL)		return false;	*ptr='\0';	node.mDeskNumber=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;	if((ptr=strstr(&buffer[n],"&"))==NULL)		return false;	*ptr='\0';	node.mSide=QString(&buffer[n]);	n+=ptr-&buffer[n]+1;		return true;}

⌨️ 快捷键说明

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