备注:总结C++中一些常见函数的使用,提高工作效率

数组的拼接:

    //报文头的前6B固定
DRV_UCHAR pkt_info_head[PALIVE_TO_NP_LEN] = {0x70, 0xff, 0x01, 0x00, (BYTE)lag_keepalive_info.chip_port, 0x00};
set_lag_keepalive_pkt_info(lag_keepalive_info, pkt_info_head);
void lag_drive_adp::set_lag_keepalive_pkt_info(pkt_alive_oper_info& lag_keepalive_info, DRV_UCHAR* pkt_info_head)
{
//给124B的报文添加6B的固定报文头
memcpy_s(&pkt_info_head[], PALIVE_LAG_KA_LEN*SizeofArray(pkt_info_head), &lag_keepalive_info.pkt_info[], PALIVE_LAG_KA_LEN*SizeofArray(lag_keepalive_info.pkt_info));
}

PALIVE_TO_NP_LEN=130。PALIVE_LAG_KA_LEN=124上述函数在在6B的报文头前面添加了124B的报文信息,组成130B的报文。

errno_t memcpy_s(
void *dest,
size_t numberOfElements,
const void *src,
size_t count
);

memcpy_s的四个参数命名其实是有迷惑性的,个人的理解是,dest-目标地址,numberOfElenments-目标地址的字符个数(可使用sizeof获取),src-源地址,count-需要拷贝的源字符个数(可使用sizeof获取)。

numberOfElements
count  统计的是字节的个数。

注意一点:numberOfElenments必须大于等于count,否则拷贝将出现中断。
sizeof的使用:

c/c++数组与sizeof的基础知识

memset_s

void * memset(void * dest,int ch,size_t count);
errno_t memset_s(void * dest,rsize_t destsz,int ch,rsize_t count)

dest

-

指向要填充的对象的指针

ch

-

填充字节

count

-

要填充的字节数

destsz

-

目标数组的大小

作用:按一个字节一个字节来给数组或者是结构体赋值的

https://blog.csdn.net/yang_zongjun/article/details/39025581

使用:

https://cloud.tencent.com/developer/section/1009614

C++数组长度 以及sizeof(), size(), length(), strlen()

一个INT元素是4字节合一起就是0x01010101(十六进制),就等于16843009,就完成了对一个INT元素的赋值了。所以用memset对非字符型数组赋初值是不可取的!

c语言memset详解

C++常见函数使用的更多相关文章

  1. 一篇说尽Excel常见函数用法

    一篇说尽Excel常见函数用法 Word,PPT,Excel这三个Office软件是职场办公里最常用的三个软件,但是我发现简书上写PPT的教程多,Excel的少,即使有,也是零零散散.因为Excel的 ...

  2. LoadRunner常见函数分析

    LoadRunner常见函数分析 ?%Ze\N%?~"_J}.t051Testing软件测试网;FQ X%L|GO+R Web用户Action51Testing软件测试网b,Q8iO w1j ...

  3. oracle 统计语句 与常见函数的归纳(未完待续)

    一.统计语句 1. count count(*)与count(0)语句的区别: count(*)统计所有数量 count(0)统计第一列不为空的 2. 两个统计量的减法 select (select ...

  4. [Bullet3]创建世界(场景)及常见函数

    创建世界(场景)及常见函数 官方文档:http://bulletphysics.org 开源代码:https://github.com/bulletphysics/bullet3/releases A ...

  5. 汇编实现: C库常见函数,串操作指令作用

    目录 汇编实现: C库常见函数 一丶汇编实现Strncpy拷贝函数 二丶loads实现Strlen操作. 三丶stos的作用 汇编实现: C库常见函数 一丶汇编实现Strncpy拷贝函数 void _ ...

  6. MYSQL的索引和常见函数

    MySQL的索引 索引机制 MySQL属于关系型数据库,为了提高查询速度,可以创建索引. 索引:由表中的一个或多个字段生成的键组成,这些键存储在数据结构(B树或者hash表中),于是又分为B树索引(I ...

  7. loadrunner——常见函数

    loadrunner——常见函数 分类: LoadRunner 2012-04-11 20:41 703人阅读 评论(0) 收藏 举报 loadrunnersearchweb服务器脚本stringwe ...

  8. SQLite3日期与时间,常见函数

    SQLite3日期与时间,常见函数 import sqlite3 #con = sqlite3.connect('example.db') con = sqlite3.connect(":m ...

  9. MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)

    # 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...

随机推荐

  1. SpringBoot 中 JPA 的使用

    详细连接 简书https://www.jianshu.com/p/c14640b63653 新建项目,增加依赖 在 Intellij IDEA 里面新建一个空的 SpringBoot 项目.具体步骤参 ...

  2. MyCat数据库中间件 - 分库

    MyCat MyCat用于解耦分布式数据库与java,比如分库分表以后,需要查询某条数据时,需要java根据需要查的数据先计算去哪个库查,然而有了Mycat就不用自己计算怎么存储,怎么查询了.MyCa ...

  3. shell expr用法

    expr 计算整数变量值 使用方法如下: linux-zpycfm:/home/test/shell # s=+ -bash: +: command not found linux-zpycfm:/h ...

  4. QTP 自动货测试桌面程序-笔记-运行结果中添加截图

    3种方法: 方法1:使用设置:SnapshotReportMode oldMode = Setting("SnapshotReportMode") Setting("Sn ...

  5. VS2017设置背景主题

    一.VS2017设置背景主题 1.下载并安装Color Theme Editor for Visual Studio 2017和MoeIDE (图中红圈中的两个插件,工具-扩展和更新-联机-右上角搜索 ...

  6. sql left join多表

    表A---------------------------------关联第一张表B-----------------------关联第二张表c select * fomr 表名A left join ...

  7. vue axios 封装(三)

    封装三: import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '. ...

  8. codeforces611C

    New Year and Domino CodeForces - 611C 他们说:“每一年都像多米诺骨牌,一个接一个地倒下去”.但是,一年能够像多米诺骨牌那样放在网格中吗?我不这么认为. Zydsg ...

  9. 英特尔DRM内核驱动程序默认启用PSR2省电功能

    导读 英特尔DRM/KMS内核驱动程序很快就会启用PSR2面板自刷新功能,以便在英特尔支持的超极本/笔记本电脑上实现更多节能. 一段时间以来,英特尔的Direct Rendering Manager驱 ...

  10. ng-click 发两次ajax请求的原因及解决方法

    http://blog.csdn.net/anmo/article/details/17083125