c++ Convert struct to bytes

D:\stock\Tskingfromgoogle\src\NetTS\TW.cpp

Convert struct  to bytes

//Convert struct  to bytes 2019/05/20 by freeman
int ConstructLoginBuffer(BYTE* buffer, size_t maxlen, LPCTSTR lpszUser, LPCTSTR lpszPasswd)
{
	int nLen = 0;
	int nLenUser = strlen(lpszUser);
	int nLenPasswd = strlen(lpszPasswd);

	TW_LOGIN	packet;
	memset(&packet,0,sizeof(packet));
	packet.m_header.m_magic = TW_MAGIC;
	if(maxlen < (int)(5 + sizeof(TW_HEADER) + nLenUser + nLenPasswd))
	{
		nLen = 5 + sizeof(TW_HEADER);
		return -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));

	if(buffer)
		memcpy(buffer, &packet, nLen);
	return nLen;
}

  

原文链接: https://www.cnblogs.com/freeboygirl/p/10959685.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++ Convert struct to bytes

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/295992

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午5:24
下一篇 2023年2月15日 下午5:24

相关推荐