-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]);
}
特に、これはどういう意味ですか? szTempの各sprintfの長さ(STRLEN(szTemp))後
for (y = 0; y < len; y++){
sprintf(szTemp + strlen(szTemp), "%02X", atr[y]);
}
です。これは、16進数のシーケンスとして 'atr'の内容の文字列表現を作成します。ループを通過するたびに、 'szTemp'に格納されている文字列の最後に2つの新しい文字が追加されます。これは 'len'がどこかで定義されていることを前提としています(あなたが指定したsniipetでは定義されていません)、' atr'はループの前に初期化または割り当てられています。 –
私はすでにコードを更新しています。 –
これは、コードが[Shlemielのアルゴリズム](http://wiki.c2.com/?ShlemielThePainter)を実行していることを意味します。 – pmg