zoukankan      html  css  js  c++  java
  • sprintf 会自动追加’’至字符串末尾

    #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(" Update Meter%d's serial num to %012s ", 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,即’’。

  • 相关阅读:
    4.6--4.9
    4.表达式和运算符
    3.9--3.10
    3.8
    泛型(Generic)
    容器
    String,StringBuffer
    数组
    异常,自定义异常,异常重写
    多态,抽象类和抽象方法,接口
  • 原文地址:https://www.cnblogs.com/outs/p/10272239.html
Copyright © 2011-2022 走看看