C代码,是什么意思?

时间:2017-05-06 14:35:02

标签: c gcc

我有这个C代码。请有人解释一下这段代码吗?

char szTemp[100];
unsigned char atr[40];
uint32_t uiApdu= 0;
len = sizeof(atr);
memset(szTemp, 0, sizeof(szTemp));  

for (y = 0; y < len; y++){
     sprintf(szTemp + strlen(szTemp), "%02X", atr[y]);
}

特别是,这是什么意思?

for (y = 0; y < len; y++){
         sprintf(szTemp + strlen(szTemp), "%02X", atr[y]);
    }

1 个答案:

答案 0 :(得分:-1)

在szTemp的每个sprintf长度(strlen(szTemp))之后将增加2,因此来自atr的40个字节将以十六进制形式写入szTemp

atr数组没有分配任何值,因此它基本上持有垃圾值