/* while (*rp);
{
char tmp[4] = {0};
memset(tmp, 0x00, sizeof(tmp));
sprintf(tmp, "%2x", *rp);
edit2 += tmp;
edit2 += " ";
rp++;
}
*/
while (*rp)
{
char tmp[4] = {0};
memset(tmp, 0x00, sizeof(tmp));
sprintf(tmp, "%2x", *rp);
edit2 += tmp;
edit2 += " ";
rp ++;
}
代码有什么区别, 奇葩诡异。
*********************************************分界线************************************
上面的代码看起来并没有不同之处。 但是运行的结果却非常不同。 所以最好是换为for。
for(int i = 0;i < str.GetLength() *2;i++)
{
char tmp[4] = {0};
memset(tmp, 0x00, sizeof(tmp));
sprintf(tmp, "%2x", rp[i]);
edit2 += tmp;
edit2 += " ";
}