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;
}

  

c++ Convert struct to bytes的更多相关文章

  1. Go语言高级特性总结——Struct、Map与JSON之间的转化

    Struct与Map之间互相转换 // Struct2Map convert struct to map func Struct2Map(st interface{}) map[string]inte ...

  2. go语言之行--结构体(struct)详解、链表

    一.struct简介 go语言中没有像类的概念,但是可以通过结构体struct实现oop(面向对象编程).struct的成员(也叫属性或字段)可以是任何类型,如普通类型.复合类型.函数.map.int ...

  3. Interpret bytes as packed binary data

    7.1. struct — Interpret bytes as packed binary data — Python 3.6.5 documentation https://docs.python ...

  4. java 各基本类型转 bytes 数组

    java 将 基本类型转byte[] 数组时,需考虑大端小端问题 1. 大端格式下,基本类型与byte[]互转 BigByteUtil.java package com.ysq.util; impor ...

  5. Python模块struct(二进制数据服务)

    struct模块 Python没有专门处理字节的数据类型.但由于b'str'可以表示字节,所以,字节数组=二进制str. 而在C语言中,我们可以很方便地用struct.union来处理字节,以及字节和 ...

  6. json-smart 使用示例(推荐fastjson)

    关于json库,请使用fastjson,这是我用过的最好用的json库! 地址:https://github.com/alibaba/fastjson ======================== ...

  7. net programming guid

    Beej's Guide to Network Programming Using Internet Sockets Brian "Beej Jorgensen" Hallbeej ...

  8. json-smart 使用示例

    json-smart 使用示例 json是一种通用的数据格式.相比与protocal buffer.thrift等数据格式,json具有可读性强(文本).天生具备良好的扩展性(随意增减字段)等优良特点 ...

  9. table2excel使用

    原table2excel代码 /* * 采用jquery模板插件——jQuery Boilerplate * * Made by QuJun * 2017/01/10 */ //table2excel ...

随机推荐

  1. ASP.NET大文件上传断点续传解决方案

    HTML部分 <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="index.aspx. ...

  2. 信息提示框:MessageBox

    一 函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer;   1.参数列表    hW ...

  3. #5 DIV2 A POJ 3321 Apple Tree 摘苹果 构建线段树

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 25232   Accepted: 7503 Descr ...

  4. 详解one-hot编码

    博主原创文章,转载请注明出处 https://www.cnblogs.com/shuaishuaidefeizhu/p/11269257.html 一.什么是one-hot编码? One-Hot编码, ...

  5. C++入门经典-例2.13-左移运算

    1:代码如下: // 2.13.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...

  6. jpa hibernate mybatis

    jpa: entityManagerFactory: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean hibern ...

  7. 链表栈C语言实现

    #ifndef LINKSTACK_H_INCLUDED #define LINKSTACK_H_INCLUDED #include <stdlib.h> #include <std ...

  8. leetcode 75颜色分类

    两趟扫描,由于排序变量的特殊性,使用计数排序方法可以明显降低至O(n)time O(n) space 关于计数排序:https://mp.weixin.qq.com/s/WGqndkwLlzyVOHO ...

  9. java删除文件夹或者文件

    private static void deleteFile(File file) { if (file.exists()) { // 判断文件是否存在 if (file.isFile()) { // ...

  10. [Flask]通过render_form快捷渲染表单

    依赖: Bootstrap-Flask 实例化方式与flask_bootstrap相同. 关于render_form(): Bootstrap-Flask内置了两个用于渲染WTForms表单类的宏,r ...