strlen()出错
wmjhl 2014-10-31 11:43:48 调试可以通过,但每次运行到 int len = strlen(str) 就会出错
错误信息: 0x1027d540 (msvcr100d.dll) 处最可能的异常: 0xC0000005: 读取位置 0x01145000 时发生访问冲突
const char * Ccommon::md5(const char * str)
{
MD5_CTX ctx;
const unsigned char * buf = reinterpret_cast<const unsigned char *>(str);
int len = strlen(str);
HINSTANCE hDLL;
if ( (hDLL = LoadLibrary(_T("advapi32.dll"))) > 0 )
{
MD5Init = (PMD5Init)GetProcAddress(hDLL,"MD5Init");
MD5Update = (PMD5Update)GetProcAddress(hDLL,"MD5Update");
MD5Final = (PMD5Final)GetProcAddress(hDLL,"MD5Final");
MD5Init(&ctx);
MD5Update(&ctx, buf, len);
MD5Final(&ctx);
}
return Hex2ASC(ctx.digest, 16);
}