日期:2014-05-16  浏览次数:20746 次

哪儿越界访问了?用工具检查的时候提示的

UCHAR uszMD5String[16 + 1];

TCHAR tszTmp[2];
    for (int i = 0;i < 16;i++)
    {
        memset(tszTmp,'\0',2);
        _stprintf_s(tszTmp,_T("%02X"),uszMD5String[i]);   //这里提示越界访问
        ptszMD5String[i] = tszTmp[0];
    }


------解决方案--------------------
"%02X"占了两个字符,字符串结尾还有一个'\0',tszTmp[3]才够