7,540
社区成员
发帖
与我相关
我的任务
分享
char* buf = (char*)LocalAlloc(LPTR, 8);
//::ZeroMemory(buf, 8);
/*
遍历字符串进行转码
*/
while( *pWork != 0x0 )
{
::ZeroMemory(buf, 8);
if ( *pWork != '!' && *pWork != '@' && *pWork != '#' &&
*pWork != '$' && *pWork != '&' && *pWork != '*' &&
*pWork != '(' && *pWork != ')' && *pWork != '=' &&
*pWork != ':' && *pWork != '/' && *pWork != ';' &&
*pWork != '?' && *pWork != '+' && *pWork != '\'' &&
*pWork != '.' )
{
sprintf_s(buf, d_size, "%%%2x", *pWork);
//strcat_s(des, d_size, buf);
}
else
{
sprintf_s(buf, d_size,"%c", *pWork);
}
strcat_s(des, d_size, buf);
pWork++;
}
LocalFree(buf);//问题出在这里
sprintf_s(buf, d_size, "%%%2x", *pWork);