-6
我有这个C代码。请有人可以解释这个代码?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]);
}
它创建一个字符串表示形式的'atr'的内容作为十六进制数字序列。每次循环时,它会将两个新字符附加到存储在'szTemp'中的字符串的末尾。这假定'len'已经定义了某处(它没有在你提供的sniipet中定义),并且'atr'已经在循环之前被初始化或赋值。 –
我已经更新了代码。 –
这意味着代码是做[Shlemiel的算法(http://wiki.c2.com/?ShlemielThePainter)。 – pmg