#define LEN_SERIAL_NUMBER (12)

void C_CosemObjMeterInfo::SetSerialNum(U08 u08MeterId, U64 u64SerialNum)
{
    U08 u08tmp[LEN_SERIAL_NUMBER+2] = {0};
    memset(u08tmp, 0xFF, sizeof(u08tmp));            // 将缓存置为0xFF
   
    sprintf((char *)u08tmp, "%012lld", u64SerialNum);        // 打印12位数据至缓存

memcpy(m_stMeterInfoTbl[u08MeterId].serialNum, u08tmp, LEN_SERIAL_NUMBER);
   
    printf("\r\nUpdate Meter%d's serial num to %012s\r\n", u08MeterId, u08tmp);

for (U08 j = 0; j < sizeof(u08tmp); j++)
    {
        printf("0x%02x ", u08tmp[j]);
    }
}

打印输出结果如下:

Update Meter0's serial num to 098020000703
0x30 0x39 0x38 0x30 0x32 0x30 0x30 0x30 0x30 0x37 0x30 0x33 0x00 0xff

由输出结果可以清楚地看出,在12位数据之后,自动追加了0x00,即’\0’。

sprintf 会自动追加’\0’至字符串末尾的更多相关文章

  1. 关于tomcat会在url末尾自动追加斜杠(/)

    今天,突然发现一个问题, 比如我的请求路径为  http://ip:port/my_project/myapp, 在浏览器中敲入这个地址,然后会显示 http://ip:port/my_project ...

  2. java数字转字符串前面自动补0或者其他数字

    /**  * Java里数字转字符串前面自动补0的实现.  *  * @author  xiaomo *  */  public class TestStringFormat {    public ...

  3. mysql int类型字段插入空字符串时自动转为0

    mysql int类型字段插入空字符串时自动转为0 如果不想转的话可以修改配置文件 修改 my.ini 文件. # Set the SQL mode to strictsql-mode=”STRICT ...

  4. T-SQL使用案例——结果数据前面自动补0

    原文:T-SQL使用案例--结果数据前面自动补0 现象: 在开发的过程中,往往需要数字和字符串互转.在转换的过程中,可能需要把1编程00001,这样的格式.实现这种样子是有非常多的方法,本文主要提供一 ...

  5. .net 和 core2.0 数据库连接字符串

    Asp.net Core 数据库离线文件的连接(引自“张不水”兄的研究成果.) 一.绝对路径: "DefaultConnection": "Data Source=(lo ...

  6. Android Studio生成APK自动追加版本号、自定义apk名称、指定签名证书文件

    你也可以查看我的其他同类文章,也会让你有一定的收货! 生成APK自动追加版本号 可自动区分debug和release,并追加版本号: 打开 build.gradle 在 android 节点中插入下面 ...

  7. sql server2005版本中,len函数计算了字符串末尾的空格

    sql server2005版本中,len函数计算了字符串末尾的空格的长度,以下是测试脚本: print @@version declare @v varchar(max) set @v = 'hp, ...

  8. js数字过大js自动变0

    解决方案: <a onclick="checkDate(${item.billday},'${item.bankcard}',${item.limitmoney/100}) 加上引号变 ...

  9. js正则格式化日期时间自动补0

    原文 js正则格式化日期时间自动补0 背景 时间日期格式化的需求很常见,也有很多工具类转换方法,比如需要将2022-3-4这种日期格式转化为2022-03-04,也就是实现个位数月份或天数日期自动前置 ...

随机推荐

  1. Apache Module mod_reqtimeout

    Apache Module mod_reqtimeout Available Languages: en Description: Set timeout and minimum data rate ...

  2. BZOJ1021

    转载:http://www.cnblogs.com/Asm-Definer/p/4372749.html 1021: [SHOI2008]Debt 循环的债务 Time Limit: 1 Sec  M ...

  3. 永久激活idea

    申明:本教程 IntelliJ IDEA 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. idea版本为老版本2018版本,下载地址如下,激活方法和插件在压缩包中 ...

  4. 货车运输 noip2013 luogu P1967 (最大生成树+倍增LCA)

    luogu题目传送门! 首先,题目让我们求每个货车的最大运输量,翻译一下就是求路径上边权最小的边. 利用一下贪心思想可知,所有货车肯定都会尽量往大的边走. 进一步翻译,即为有一些小边货车根本不会走,或 ...

  5. Rocket - diplomacy - ValName

    https://mp.weixin.qq.com/s/so-2x5KLfYF0IMCCqNThwQ   简单调试ValName实现:   1. 使用     ​​   Desugar之后如下: ​​ ...

  6. 使用RTL进行硬件模型编程的局限性

    https://mp.weixin.qq.com/s/Nj_d3hwgNX4kWVtKsqMSWg   ​​   硬件模型编程,即Hardware Model Programming.在RTL抽象级别 ...

  7. JAVASE(十五) 泛型 :泛型用例、自定义泛型类、通配符

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.泛型在集合中的使用 1.1 在集合中使用泛型之前的例子 ​ 为什么要有泛型(Generic)? 1. ...

  8. 金融SaaS平台之构思篇

    背景介绍 从事过金融服务行业的同学们都知道,业务系统是非常之多的,核心的就有估值.交易.TA.资讯系统,其他类似产品生命周期系统.投后分析系统等待,而且各个业务系统的逻辑非常之复杂,所以一般金融机构都 ...

  9. Java实现 LeetCode 413 等差数列划分

    413. 等差数列划分 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, - ...

  10. Java中Collections类详细用法

    1.sort(Collection)方法的使用(含义:对集合进行排序). 例:对已知集合c进行排序? public class Practice { public static void main(S ...