C ++バイトに構造体に変換

D:\株式\ Tskingfromgoogle \ SRC \ NetTS \ TW.cpp

バイトに構造体に変換

//フリーマンによってバイトの2019年5月20日に構造体を変換
INT ConstructLoginBuffer(BYTE *バッファ、size_tのMAXLEN、LPCTSTR lpszUser、LPCTSTR lpszPasswd)
{ 
	int型nLen = 0。
	INT nLenUser = STRLEN(lpszUser)。
	INT nLenPasswd = STRLEN(lpszPasswd)。

	TW_LOGINパケット。
	memset(&パケット、0、はsizeof(パケット))。
	packet.m_header.m_magic = TW_MAGIC。
	IF(maxlenを<(INT)(5 +はsizeof(TW_HEADER)+ nLenUser + nLenPasswd))
	{ 
		nLen = 5 +はsizeof(TW_HEADER)。
		-1を返します。
	} 
	packet.m_name_len =(WORD)nLenUser。
	memcpy(packet.m_data、lpszUser、nLenUser)。
	*(WORD *)(packet.m_data + nLenUser)=(WORD)nLenPasswd。
	memcpy(packet.m_data + nLenUser +はsizeof(WORD)、lpszPasswd、nLenPasswd)。

	nLen = 5 +はsizeof(TW_HEADER)+ nLenUser + nLenPasswd。
	ConstructLength(packet.m_header、nLen -はsizeof(packet.m_header))。

	(バッファ)する場合
		のmemcpy(バッファ、およびパケット、nLen)。
	nLenを返します。
}

  

おすすめ

転載: www.cnblogs.com/freeboygirl/p/10959685.html